From 0dcbc26a5a974c76d5db5c6c59652f1ae7c4fb9f Mon Sep 17 00:00:00 2001 From: Marcel Hollerbach Date: Sun, 8 Mar 2020 12:25:35 +0100 Subject: [PATCH] ecore_evas_x: honor forign dnd implementations enlightenment does not use the elm dnd operation implementations. Therefore we have to ensure that we only handle these operations here, when ecore_evas dnd API is used. --- src/modules/ecore_evas/engines/x/ecore_evas_x.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/modules/ecore_evas/engines/x/ecore_evas_x.c b/src/modules/ecore_evas/engines/x/ecore_evas_x.c index 11719ee1b1..e6463fd6a9 100644 --- a/src/modules/ecore_evas/engines/x/ecore_evas_x.c +++ b/src/modules/ecore_evas/engines/x/ecore_evas_x.c @@ -4133,8 +4133,10 @@ _ecore_evas_x_dnd_drop(void *udata EINA_UNUSED, int type EINA_UNUSED, void *even edata = ee->engine.data; if (ee->func.fn_dnd_drop) ee->func.fn_dnd_drop(ee, 1, ecore_evas_dnd_pos_get(ee, 1), _x11_dnd_action_map(drop->action)); - if (!edata->selection_data[ECORE_EVAS_SELECTION_BUFFER_DRAG_AND_DROP_BUFFER].requested_type) + if (edata->selection_data[ECORE_EVAS_SELECTION_BUFFER_DRAG_AND_DROP_BUFFER].delivery && + !edata->selection_data[ECORE_EVAS_SELECTION_BUFFER_DRAG_AND_DROP_BUFFER].requested_type) { + //only abort dnd if we have something to deliver here, otherwise some other dnd implementation in our own window is handling that ecore_x_dnd_send_finished(); } ecore_evas_dnd_leave(ee, 1, EINA_POSITION2D(drop->position.x ,drop->position.y));