From: Alex Wu <zhiwen.wu@linux.intel.com>

Every touch down event should be converted into mouse in +
mouse button. So we should let every mouse in event go in the
_ecore_evas_wl_common_cb_mouse_in(), instead of preventing it by
"if (!ee->in)". Besides that, the coordinates carried by mouse in
event should be set to Evas_Public_Data::pointer by calling
_ecore_evas_mouse_move_process().

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 79818
This commit is contained in:
Alex Wu 2012-11-29 07:46:14 +00:00 committed by Christopher Michael
parent 830858b9f7
commit 11cb458f48
1 changed files with 5 additions and 7 deletions

View File

@ -43,13 +43,11 @@ _ecore_evas_wl_common_cb_mouse_in(void *data EINA_UNUSED, int type EINA_UNUSED,
ee = ecore_event_window_match(ev->window);
if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON;
if (ev->window != ee->prop.window) return ECORE_CALLBACK_PASS_ON;
if (!ee->in)
{
if (ee->func.fn_mouse_in) ee->func.fn_mouse_in(ee);
ecore_event_evas_modifier_lock_update(ee->evas, ev->modifiers);
evas_event_feed_mouse_in(ee->evas, ev->timestamp, NULL);
ee->in = EINA_TRUE;
}
if (ee->func.fn_mouse_in) ee->func.fn_mouse_in(ee);
ecore_event_evas_modifier_lock_update(ee->evas, ev->modifiers);
evas_event_feed_mouse_in(ee->evas, ev->timestamp, NULL);
_ecore_evas_mouse_move_process(ee, ev->x, ev->y, ev->timestamp);
ee->in = EINA_TRUE;
return ECORE_CALLBACK_PASS_ON;
}