Fix mouse up crash 41/142341/3 accepted/tizen/3.0/common/20170808.133304 accepted/tizen/3.0/ivi/20170808.070422 accepted/tizen/3.0/mobile/20170808.070348 accepted/tizen/3.0/tv/20170808.070400 accepted/tizen/3.0/wearable/20170808.070412 submit/tizen_3.0/20170804.031922
authorHyunho Kang <hhstark.kang@samsung.com>
Thu, 3 Aug 2017 11:51:03 +0000 (20:51 +0900)
committerHyunho Kang <hhstark.kang@samsung.com>
Thu, 3 Aug 2017 13:30:30 +0000 (22:30 +0900)
If DESC value do not copied, tizen_remote_surface_transfer_mouse_event
will send trash value.

Change-Id: I4690a1d76671f7ce4394c7c9b36e2a78795b23b3
Signed-off-by: Hyunho Kang <hhstark.kang@samsung.com>
screen_connector_watcher_evas/src/screen_connector_toolkit_evas.c

index 453b3da..bb9e8b4 100644 (file)
@@ -69,21 +69,6 @@ struct _screen_connector_toolkit_evas_h {
        void *data;
 };
 
-struct _move_event_info {
-       double x;
-       double y;
-       double rx;
-       double ry;
-       double pressure;
-       double angle;
-       double class;
-       double sub_class;
-       const char *desc;
-       unsigned int timestamp;
-};
-
-static struct _move_event_info __last_move;
-
 static GHashTable *__cur_buffer_table = NULL;
 static GHashTable *__type_table = NULL;
 static Ecore_Event_Handler *__visibility_listener;
@@ -501,23 +486,23 @@ static void __rs_cb_mouse_up(void *data, Evas *e, Evas_Object *obj, void *event_
        }
 
        /*
-        * We need to send last move event for
+        * We need to send move event for
         * consistency with old widget framework
         */
        tizen_remote_surface_transfer_mouse_event(surface,
                        TIZEN_REMOTE_SURFACE_EVENT_TYPE_MOUSE_MOVE,
                        0,
                        0,
-                       __last_move.x,
-                       __last_move.y,
-                       __last_move.rx,
-                       __last_move.ry,
-                       __last_move.pressure,
-                       __last_move.angle,
-                       __last_move.class,
-                       __last_move.sub_class,
-                       __last_move.desc,
-                       __last_move.timestamp);
+                       ev->canvas.x - x,
+                       ev->canvas.y - y,
+                       wl_fixed_from_double(ev->radius_x),
+                       wl_fixed_from_double(ev->radius_y),
+                       wl_fixed_from_double(ev->pressure),
+                       wl_fixed_from_double(ev->angle),
+                       evas_device_class_get(ev->dev),
+                       evas_device_subclass_get(ev->dev),
+                       desc,
+                       ev->timestamp);
 
        tizen_remote_surface_transfer_mouse_event(surface,
                        TIZEN_REMOTE_SURFACE_EVENT_TYPE_MOUSE_UP,
@@ -548,17 +533,6 @@ static void __rs_cb_mouse_move(void *data, Evas *e, Evas_Object *obj, void *even
 
        evas_object_geometry_get(obj, &x, &y, &w, &h);
 
-       __last_move.x = ev->cur.canvas.x - x;
-       __last_move.y = ev->cur.canvas.y - y;
-       __last_move.rx = wl_fixed_from_double(ev->radius_x);
-       __last_move.ry = wl_fixed_from_double(ev->radius_y);
-       __last_move.pressure = wl_fixed_from_double(ev->pressure);
-       __last_move.angle = wl_fixed_from_double(ev->angle);
-       __last_move.class = evas_device_class_get(ev->dev);
-       __last_move.sub_class = evas_device_subclass_get(ev->dev);
-       __last_move.desc = desc;
-       __last_move.timestamp = ev->timestamp;
-
        LOGD("mouse move: %d %d", ev->cur.canvas.x - x, ev->cur.canvas.y - y);
 
        if (desc == NULL)