From: Alex Wu <[email protected]>
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().
---
.../src/lib/ecore_evas/ecore_evas_wayland_common.c | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/trunk/ecore/src/lib/ecore_evas/ecore_evas_wayland_common.c
b/trunk/ecore/src/lib/ecore_evas/ecore_evas_wayland_common.c
index f29e711..5e83175 100644
--- a/trunk/ecore/src/lib/ecore_evas/ecore_evas_wayland_common.c
+++ b/trunk/ecore/src/lib/ecore_evas/ecore_evas_wayland_common.c
@@ -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;
}
--
1.7.9.5
------------------------------------------------------------------------------
Keep yourself connected to Go Parallel:
VERIFY Test and improve your parallel project with help from experts
and peers. http://goparallel.sourceforge.net
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel