Send mouse move event before mouse down event in ecore_extn.
authorjypark <jypark@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Thu, 10 May 2012 09:04:44 +0000 (09:04 +0000)
committerJiyoun Park <jy0703.park@samsung.com>
Tue, 29 May 2012 07:56:01 +0000 (16:56 +0900)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@70906 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

Conflicts:

ChangeLog
NEWS

Change-Id: I50e64b64570496fbe5ccb483c7134d673e3e76ef

ChangeLog
NEWS
src/lib/ecore_evas/ecore_evas_extn.c

index 7815495..03de1ed 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
 2012-04-20  Vincent Torri
 
        * Add override_set() support in ecore_evas_win32.
+
+2012-05-10  Jiyoun Park
+
+       * Send mouse move event before mouse down event in ecore_extn
diff --git a/NEWS b/NEWS
index 8339497..ab0ba68 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,13 @@
+Ecore 1.3.0
+
+Changes since Ecore 1.2.0:
+
+Fixes:
+    * ecore
+     - Prevent running out of fd when cycling ecore_init/ecore_shutdown.
+     - Reduce rounding error in ecore_animator_pos_map.
+     - Send mouse move event before mouse down event in ecore_extn
+
 Ecore 1.2.0
 
 Changes since Ecore 1.1.0:
index a7ea4c3..032484a 100644 (file)
@@ -672,14 +672,30 @@ _ecore_evas_extn_cb_mouse_down(void *data, Evas *e __UNUSED__, Evas_Object *obj
    if (!extn) return;
    if (extn->ipc.server)
      {
-        Ipc_Data_Ev_Mouse_Down ipc;
-
-        ipc.b = ev->button;
-        ipc.flags = ev->flags;
-        ipc.timestamp = ev->timestamp;
-        ipc.mask = _ecore_evas_modifiers_locks_mask_get(ee->evas);
-        ipc.event_flags = ev->event_flags;
-        ecore_ipc_server_send(extn->ipc.server, MAJOR, OP_EV_MOUSE_DOWN, 0, 0, 0, &ipc, sizeof(ipc));
+       /* We have send mouse move event before mouse down event */
+       {
+          Ipc_Data_Ev_Mouse_Move ipc_move;
+          Evas_Coord x, y;
+
+          x = ev->canvas.x;
+          y = ev->canvas.y;
+          _ecore_evas_extn_coord_translate(ee, &x, &y);
+          ipc_move.x = x;
+          ipc_move.y = y;
+          ipc_move.timestamp = ev->timestamp;
+          ipc_move.mask = _ecore_evas_modifiers_locks_mask_get(ee->evas);
+          ipc_move.event_flags = ev->event_flags;
+          ecore_ipc_server_send(extn->ipc.server, MAJOR, OP_EV_MOUSE_MOVE, 0, 0, 0, &ipc_move, sizeof(ipc_move));
+       }
+       {
+          Ipc_Data_Ev_Mouse_Down ipc;
+          ipc.b = ev->button;
+          ipc.flags = ev->flags;
+          ipc.timestamp = ev->timestamp;
+          ipc.mask = _ecore_evas_modifiers_locks_mask_get(ee->evas);
+          ipc.event_flags = ev->event_flags;
+          ecore_ipc_server_send(extn->ipc.server, MAJOR, OP_EV_MOUSE_DOWN, 0, 0, 0, &ipc, sizeof(ipc));
+       }
      }
 }