Backporting 79818
authoretrunko <etrunko@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 7 Dec 2012 17:33:27 +0000 (17:33 +0000)
committeretrunko <etrunko@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 7 Dec 2012 17:33:27 +0000 (17:33 +0000)
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>
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/branches/ecore-1.7@80475 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/ecore_evas/ecore_evas_wayland_egl.c
src/lib/ecore_evas/ecore_evas_wayland_shm.c

index 5671592..c58af88 100644 (file)
@@ -929,10 +929,13 @@ _ecore_evas_wl_cb_mouse_in(void *data __UNUSED__, int type __UNUSED__, void *eve
    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->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;
 }
 
index 6681607..c5a0ee5 100644 (file)
@@ -1099,14 +1099,13 @@ _ecore_evas_wl_cb_mouse_in(void *data __UNUSED__, int type __UNUSED__, void *eve
    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);
-//        _ecore_evas_mouse_move_process(ee, ev->x, ev->y, ev->timestamp);
-        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;
 }