Use event_win when it exists to match source of events

I don't expect anything to break, but if mouse or keyboard events suddenly
disappear, feel free to revert this patch while blaming cedric or discomfitor.



SVN revision: 53583
This commit is contained in:
Iván Briano 2010-10-18 21:50:41 +00:00
parent 6c2545adc7
commit bab8d2d0cd
2 changed files with 11 additions and 11 deletions

View File

@ -744,7 +744,7 @@ _ecore_evas_x_event_mouse_in(void *data __UNUSED__, int type __UNUSED__, void *e
Ecore_X_Event_Mouse_In *e;
e = event;
ee = ecore_event_window_match(e->win);
ee = ecore_event_window_match(e->event_win);
if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; /* pass on event */
if (e->win != ee->prop.window) return ECORE_CALLBACK_PASS_ON;
/* { */
@ -795,7 +795,7 @@ _ecore_evas_x_event_mouse_out(void *data __UNUSED__, int type __UNUSED__, void *
Ecore_X_Event_Mouse_Out *e;
e = event;
ee = ecore_event_window_match(e->win);
ee = ecore_event_window_match(e->event_win);
if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON;
/* pass on event */
if (e->win != ee->prop.window) return ECORE_CALLBACK_PASS_ON;
@ -954,7 +954,7 @@ _ecore_evas_x_event_window_destroy(void *data __UNUSED__, int type __UNUSED__, v
Ecore_X_Event_Window_Destroy *e;
e = event;
ee = ecore_event_window_match(e->win);
ee = ecore_event_window_match(e->event_win);
if (!ee) return ECORE_CALLBACK_PASS_ON; /* pass on event */
if (e->win != ee->prop.window) return ECORE_CALLBACK_PASS_ON;
if (ee->func.fn_destroy) ee->func.fn_destroy(ee);
@ -970,7 +970,7 @@ _ecore_evas_x_event_window_configure(void *data __UNUSED__, int type __UNUSED__,
Ecore_X_Event_Window_Configure *e;
e = event;
ee = ecore_event_window_match(e->win);
ee = ecore_event_window_match(e->event_win);
if (!ee) return ECORE_CALLBACK_PASS_ON; /* pass on event */
if (e->win != ee->prop.window) return ECORE_CALLBACK_PASS_ON;
if (ee->engine.x.direct_resize) return ECORE_CALLBACK_PASS_ON;
@ -1049,7 +1049,7 @@ _ecore_evas_x_event_window_show(void *data __UNUSED__, int type __UNUSED__, void
static int first_map_bug = -1;
e = event;
ee = ecore_event_window_match(e->win);
ee = ecore_event_window_match(e->event_win);
if (!ee) return ECORE_CALLBACK_PASS_ON; /* pass on event */
if (e->win != ee->prop.window) return ECORE_CALLBACK_PASS_ON;
if (first_map_bug < 0)
@ -1076,7 +1076,7 @@ _ecore_evas_x_event_window_hide(void *data __UNUSED__, int type __UNUSED__, void
Ecore_X_Event_Window_Hide *e;
e = event;
ee = ecore_event_window_match(e->win);
ee = ecore_event_window_match(e->event_win);
if (!ee) return ECORE_CALLBACK_PASS_ON; /* pass on event */
if (e->win != ee->prop.window) return ECORE_CALLBACK_PASS_ON;
if (!ee->visible) return ECORE_CALLBACK_DONE;

View File

@ -132,7 +132,7 @@ _ecore_event_evas_key(Ecore_Event_Key *e, Ecore_Event_Press press)
{
Ecore_Input_Window *lookup;
lookup = _ecore_event_window_match(e->window);
lookup = _ecore_event_window_match(e->event_window);
if (!lookup) return ECORE_CALLBACK_RENEW;
ecore_event_evas_modifier_lock_update(lookup->evas, e->modifiers);
if (press == ECORE_DOWN)
@ -148,7 +148,7 @@ _ecore_event_evas_mouse_button(Ecore_Event_Mouse_Button *e, Ecore_Event_Press pr
Ecore_Input_Window *lookup;
Evas_Button_Flags flags = EVAS_BUTTON_NONE;
lookup = _ecore_event_window_match(e->window);
lookup = _ecore_event_window_match(e->event_window);
if (!lookup) return ECORE_CALLBACK_RENEW;
if (e->double_click) flags |= EVAS_BUTTON_DOUBLE_CLICK;
if (e->triple_click) flags |= EVAS_BUTTON_TRIPLE_CLICK;
@ -177,7 +177,7 @@ ecore_event_evas_mouse_move(void *data __UNUSED__, int type __UNUSED__, void *ev
Ecore_Input_Window *lookup;
e = event;
lookup = _ecore_event_window_match(e->window);
lookup = _ecore_event_window_match(e->event_window);
if (!lookup) return ECORE_CALLBACK_RENEW;
if (e->multi.device == 0)
{
@ -208,7 +208,7 @@ _ecore_event_evas_mouse_io(Ecore_Event_Mouse_IO *e, Ecore_Event_IO io)
{
Ecore_Input_Window *lookup;
lookup = _ecore_event_window_match(e->window);
lookup = _ecore_event_window_match(e->event_window);
if (!lookup) return ECORE_CALLBACK_RENEW;
ecore_event_evas_modifier_lock_update(lookup->evas, e->modifiers);
switch (io)
@ -246,7 +246,7 @@ ecore_event_evas_mouse_wheel(void *data __UNUSED__, int type __UNUSED__, void *e
Ecore_Input_Window *lookup;
e = event;
lookup = _ecore_event_window_match(e->window);
lookup = _ecore_event_window_match(e->event_window);
if (!lookup) return ECORE_CALLBACK_RENEW;
ecore_event_evas_modifier_lock_update(lookup->evas, e->modifiers);
evas_event_feed_mouse_wheel(lookup->evas, e->direction, e->z, e->timestamp, NULL);