forked from enlightenment/efl
i think this is the right way to fix the subwindow issue. e->event_win is the window the event originally occured in, while the value of e->win depends on whether it's a subwindow crossing or not. spank me if i'm wrong.
SVN revision: 10795
This commit is contained in:
parent
3881978d6a
commit
1753eaa65f
|
@ -210,7 +210,7 @@ _ecore_evas_event_mouse_in(void *data, int type, void *event)
|
|||
e = event;
|
||||
ee = _ecore_evas_x_match(e->win);
|
||||
if (!ee) return 1; /* pass on event */
|
||||
if (e->win == ee->engine.x.win_container) return 0;
|
||||
if (e->event_win == ee->engine.x.win_container) return 0;
|
||||
if (ee->func.fn_mouse_in) ee->func.fn_mouse_in(ee);
|
||||
_ecore_evas_modifier_locks_update(ee, e->modifiers);
|
||||
evas_event_feed_mouse_in(ee->evas);
|
||||
|
@ -227,7 +227,7 @@ _ecore_evas_event_mouse_out(void *data, int type, void *event)
|
|||
e = event;
|
||||
ee = _ecore_evas_x_match(e->win);
|
||||
if (!ee) return 1; /* pass on event */
|
||||
if (e->win == ee->engine.x.win_container) return 0;
|
||||
if (e->event_win == ee->engine.x.win_container) return 0;
|
||||
_ecore_evas_modifier_locks_update(ee, e->modifiers);
|
||||
_ecore_evas_mouse_move_process(ee, e->x, e->y);
|
||||
evas_event_feed_mouse_out(ee->evas);
|
||||
|
|
Loading…
Reference in New Issue