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.
This commit is contained in:
Marcel Hollerbach 2016-07-06 20:09:07 +02:00
parent 63e88bdcfa
commit 75bb8060b3
4 changed files with 16 additions and 8 deletions

View 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 */

View 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;

View 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;
}

View 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,