ecore_wl2: split of cnp_selection_data_ready and
authorMarcel Hollerbach <marcel-hollerbach@t-online.de>
Wed, 6 Jul 2016 18:09:07 +0000 (20:09 +0200)
committerMarcel Hollerbach <marcel-hollerbach@t-online.de>
Mon, 11 Jul 2016 09:02:52 +0000 (11:02 +0200)
dnd_selection_data_ready

before there was the case that both handlers are called even if just dnd
data arrived.

src/lib/ecore_wl2/Ecore_Wl2.h
src/lib/ecore_wl2/ecore_wl2.c
src/lib/ecore_wl2/ecore_wl2_dnd.c
src/lib/elementary/elm_cnp.c

index 615d728..a6c3d36 100644 (file)
@@ -192,12 +192,13 @@ EAPI extern int ECORE_WL2_EVENT_DND_LEAVE; /** @since 1.17 */
 EAPI extern int ECORE_WL2_EVENT_DND_MOTION; /** @since 1.17 */
 EAPI extern int ECORE_WL2_EVENT_DND_DROP; /** @since 1.17 */
 EAPI extern int ECORE_WL2_EVENT_DND_END; /** @since 1.17 */
+EAPI extern int ECORE_WL2_EVENT_DND_DATA_READY;
 EAPI extern int ECORE_WL2_EVENT_DATA_SOURCE_END; /** @since 1.18 */
 EAPI extern int ECORE_WL2_EVENT_DATA_SOURCE_DROP; /** @since 1.18 */
 EAPI extern int ECORE_WL2_EVENT_DATA_SOURCE_ACTION; /** @since 1.18 */
 EAPI extern int ECORE_WL2_EVENT_DATA_SOURCE_TARGET; /** @since 1.17 */
 EAPI extern int ECORE_WL2_EVENT_DATA_SOURCE_SEND; /** @since 1.17 */
-EAPI extern int ECORE_WL2_EVENT_SELECTION_DATA_READY; /** @since 1.17 */
+EAPI extern int ECORE_WL2_EVENT_CNP_DATA_READY; /** @since 1.17 */
 EAPI extern int ECORE_WL2_EVENT_WINDOW_CONFIGURE; /** @since 1.17 */
 EAPI extern int ECORE_WL2_EVENT_SYNC_DONE; /** @since 1.17 */
 
index e9cf9f6..0f8850f 100644 (file)
@@ -28,7 +28,8 @@ EAPI int ECORE_WL2_EVENT_DATA_SOURCE_DROP = 0;
 EAPI int ECORE_WL2_EVENT_DATA_SOURCE_ACTION = 0;
 EAPI int ECORE_WL2_EVENT_DATA_SOURCE_TARGET = 0;
 EAPI int ECORE_WL2_EVENT_DATA_SOURCE_SEND = 0;
-EAPI int ECORE_WL2_EVENT_SELECTION_DATA_READY = 0;
+EAPI int ECORE_WL2_EVENT_CNP_DATA_READY = 0;
+EAPI int ECORE_WL2_EVENT_DND_DATA_READY = 0;
 EAPI int ECORE_WL2_EVENT_WINDOW_CONFIGURE = 0;
 EAPI int ECORE_WL2_EVENT_SYNC_DONE = 0;
 
@@ -86,7 +87,8 @@ ecore_wl2_init(void)
         ECORE_WL2_EVENT_DATA_SOURCE_ACTION = ecore_event_type_new();
         ECORE_WL2_EVENT_DATA_SOURCE_TARGET = ecore_event_type_new();
         ECORE_WL2_EVENT_DATA_SOURCE_SEND = ecore_event_type_new();
-        ECORE_WL2_EVENT_SELECTION_DATA_READY = ecore_event_type_new();
+        ECORE_WL2_EVENT_CNP_DATA_READY = ecore_event_type_new();
+        ECORE_WL2_EVENT_DND_DATA_READY = ecore_event_type_new();
         ECORE_WL2_EVENT_WINDOW_CONFIGURE = ecore_event_type_new();
         ECORE_WL2_EVENT_SYNC_DONE = ecore_event_type_new();
         _ecore_wl2_event_window_www = ecore_event_type_new();
@@ -136,7 +138,8 @@ ecore_wl2_shutdown(void)
    ECORE_WL2_EVENT_DATA_SOURCE_ACTION = 0;
    ECORE_WL2_EVENT_DATA_SOURCE_TARGET = 0;
    ECORE_WL2_EVENT_DATA_SOURCE_SEND = 0;
-   ECORE_WL2_EVENT_SELECTION_DATA_READY = 0;
+   ECORE_WL2_EVENT_DND_DATA_READY = 0;
+   ECORE_WL2_EVENT_CNP_DATA_READY = 0;
    ECORE_WL2_EVENT_WINDOW_CONFIGURE = 0;
    ECORE_WL2_EVENT_SYNC_DONE = 0;
 
index 4b44b4a..82e83be 100644 (file)
@@ -255,8 +255,12 @@ _selection_data_read(void *data, Ecore_Fd_Handler *fdh)
 
         event->data = source->read_data;
         event->len = source->len;
-        ecore_event_add(ECORE_WL2_EVENT_SELECTION_DATA_READY, event,
-                        _selection_data_ready_cb_free, NULL);
+        if (source->input->drag.source)
+          ecore_event_add(ECORE_WL2_EVENT_DND_DATA_READY, event,
+                          _selection_data_ready_cb_free, NULL);
+        else
+          ecore_event_add(ECORE_WL2_EVENT_CNP_DATA_READY, event,
+                          _selection_data_ready_cb_free, NULL);
 
         return ECORE_CALLBACK_CANCEL;
      }
index 1a5ce93..663e89e 100644 (file)
@@ -3204,7 +3204,7 @@ _wl_elm_cnp_init(void)
 
    ecore_event_handler_add(ECORE_WL2_EVENT_DATA_SOURCE_SEND,
                            _wl_selection_send, &wl_cnp_selection);
-   ecore_event_handler_add(ECORE_WL2_EVENT_SELECTION_DATA_READY,
+   ecore_event_handler_add(ECORE_WL2_EVENT_CNP_DATA_READY,
                            _wl_selection_receive, &wl_cnp_selection);
 
    return EINA_TRUE;
@@ -3221,7 +3221,7 @@ _wl_elm_dnd_init(void)
    text_uri = eina_stringshare_add("text/uri-list");
 
    _wl_elm_cnp_init();
-   ecore_event_handler_add(ECORE_WL2_EVENT_SELECTION_DATA_READY,
+   ecore_event_handler_add(ECORE_WL2_EVENT_DND_DATA_READY,
                            _wl_dnd_receive, &wl_cnp_selection);
 
    ecore_event_handler_add(ECORE_WL2_EVENT_DATA_SOURCE_END,