summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Hollerbach <marcel-hollerbach@t-online.de>2016-07-06 20:09:07 +0200
committerMarcel Hollerbach <marcel-hollerbach@t-online.de>2016-07-10 14:36:54 +0200
commit054c7020f80cb01420b3cd81fa8c92ce87247dc8 (patch)
tree993a3474dd51d55e27293b21025e091ba0864dc3
parent6e55e3012d2ae5a2e46237e2eb2a6452a80d115d (diff)
downloadefl-054c7020f80cb01420b3cd81fa8c92ce87247dc8.tar.gz
ecore_wl2: split of cnp_selection_data_ready and
dnd_selection_data_ready before there was the case that both handlers are called even if just dnd data arrived.
-rw-r--r--src/lib/ecore_wl2/Ecore_Wl2.h3
-rw-r--r--src/lib/ecore_wl2/ecore_wl2.c9
-rw-r--r--src/lib/ecore_wl2/ecore_wl2_dnd.c8
-rw-r--r--src/lib/elementary/elm_cnp.c4
4 files changed, 16 insertions, 8 deletions
diff --git a/src/lib/ecore_wl2/Ecore_Wl2.h b/src/lib/ecore_wl2/Ecore_Wl2.h
index 615d7285cf..a6c3d36102 100644
--- a/src/lib/ecore_wl2/Ecore_Wl2.h
+++ b/src/lib/ecore_wl2/Ecore_Wl2.h
@@ -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 */
diff --git a/src/lib/ecore_wl2/ecore_wl2.c b/src/lib/ecore_wl2/ecore_wl2.c
index e9cf9f6131..0f8850ffa0 100644
--- a/src/lib/ecore_wl2/ecore_wl2.c
+++ b/src/lib/ecore_wl2/ecore_wl2.c
@@ -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;
diff --git a/src/lib/ecore_wl2/ecore_wl2_dnd.c b/src/lib/ecore_wl2/ecore_wl2_dnd.c
index 4b44b4aaf6..82e83becd6 100644
--- a/src/lib/ecore_wl2/ecore_wl2_dnd.c
+++ b/src/lib/ecore_wl2/ecore_wl2_dnd.c
@@ -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;
}
diff --git a/src/lib/elementary/elm_cnp.c b/src/lib/elementary/elm_cnp.c
index 28aa2575bf..066243b7fe 100644
--- a/src/lib/elementary/elm_cnp.c
+++ b/src/lib/elementary/elm_cnp.c
@@ -3180,7 +3180,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;
@@ -3197,7 +3197,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,