ecore-wl2: Raise dnd drop event when we get the event from the data
authorChris Michael <cp.michael@samsung.com>
Fri, 25 Sep 2015 14:51:43 +0000 (10:51 -0400)
committerChris Michael <cp.michael@samsung.com>
Thu, 3 Dec 2015 17:02:40 +0000 (12:02 -0500)
listener

Signed-off-by: Chris Michael <cp.michael@samsung.com>
src/lib/ecore_wl2/ecore_wl2_dnd.c

index 4909142..4a20098 100644 (file)
@@ -134,7 +134,23 @@ _ecore_wl2_dnd_motion(Ecore_Wl2_Input *input, int x, int y, unsigned int timesta
 void
 _ecore_wl2_dnd_drop(Ecore_Wl2_Input *input)
 {
-   /* TODO: raise dnd drop event */
+   Ecore_Wl2_Event_Dnd_Drop *ev;
+
+   ev = calloc(1, sizeof(Ecore_Wl2_Event_Dnd_Drop));
+   if (!ev) return;
+
+   if (input->drag.source)
+     {
+        if (input->focus.pointer)
+          ev->win = input->focus.pointer->id;
+        if (input->focus.keyboard)
+          ev->source = input->focus.keyboard->id;
+     }
+
+   ev->x = input->pointer.sx;
+   ev->y = input->pointer.sy;
+
+   ecore_event_add(ECORE_WL2_EVENT_DND_DROP, ev, NULL, NULL);
 }
 
 void