diff options
author | Marcel Hollerbach <marcel-hollerbach@t-online.de> | 2016-07-06 20:09:07 +0200 |
---|---|---|
committer | Marcel Hollerbach <marcel-hollerbach@t-online.de> | 2016-07-10 14:36:54 +0200 |
commit | 054c7020f80cb01420b3cd81fa8c92ce87247dc8 (patch) | |
tree | 993a3474dd51d55e27293b21025e091ba0864dc3 | |
parent | 6e55e3012d2ae5a2e46237e2eb2a6452a80d115d (diff) | |
download | efl-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.h | 3 | ||||
-rw-r--r-- | src/lib/ecore_wl2/ecore_wl2.c | 9 | ||||
-rw-r--r-- | src/lib/ecore_wl2/ecore_wl2_dnd.c | 8 | ||||
-rw-r--r-- | src/lib/elementary/elm_cnp.c | 4 |
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, |