oops- for repat events this screws up grabbing..

SVN revision: 11612
This commit is contained in:
Carsten Haitzler 2004-09-12 04:49:07 +00:00
parent 674c783cdf
commit fa49841f36
2 changed files with 6 additions and 6 deletions

View File

@ -175,7 +175,7 @@ evas_event_feed_mouse_down_data(Evas *e, int b, const void *data)
obj = l->data;
obj->mouse_grabbed = 1;
e->pointer.mouse_grabbed = 1;
e->pointer.mouse_grabbed++;
ev.button = b;
ev.output.x = e->pointer.x;
@ -260,6 +260,7 @@ evas_event_feed_mouse_up_data(Evas *e, int b, const void *data)
obj = l->data;
if (!e->pointer.button) obj->mouse_grabbed = 0;
e->pointer.mouse_grabbed--;
ev.button = b;
ev.output.x = e->pointer.x;
ev.output.y = e->pointer.y;
@ -267,7 +268,7 @@ evas_event_feed_mouse_up_data(Evas *e, int b, const void *data)
ev.canvas.y = e->pointer.canvas_y;
ev.data = (void *)data;
ev.modifiers = &(e->modifiers);
ev.locks = &(e->locks);
ev.locks = &(e->locks);
if (!e->events_frozen)
evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_UP, &ev);
}
@ -277,7 +278,6 @@ evas_event_feed_mouse_up_data(Evas *e, int b, const void *data)
Evas_List *ins;
Evas_List *l;
e->pointer.mouse_grabbed = 0;
/* get new list of ins */
ins = evas_event_objects_event_list(e, NULL, e->pointer.x, e->pointer.y);
/* go thru old list of in objects */
@ -365,12 +365,12 @@ evas_event_feed_mouse_move_data(Evas *e, int x, int y, const void *data)
e->pointer.canvas_x = evas_coord_screen_x_to_world(e, x);
e->pointer.canvas_y = evas_coord_screen_y_to_world(e, y);
/* if our mouse button is grabbed to any objects */
if (e->pointer.mouse_grabbed)
if (e->pointer.mouse_grabbed != 0)
{
/* go thru old list of in objects */
Evas_List *outs = NULL;
Evas_List *l, *copy;
copy = evas_event_list_copy(e->pointer.object.in);
for (l = copy; l; l = l->next)
{

View File

@ -276,7 +276,7 @@ struct _Evas
struct {
char inside : 1;
char mouse_grabbed : 1;
int mouse_grabbed;
DATA32 button;
int x, y;