summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Hollerbach <marcel-hollerbach@t-online.de>2016-08-03 19:02:26 +0200
committerMarcel Hollerbach <marcel-hollerbach@t-online.de>2016-08-04 16:38:51 +0200
commit10b753bf7557b83c108536228d69b900ce360773 (patch)
treefda2fe37d47fce2b4ba687d729fec1fbb6486c5f
parent754a91b44797b29e662ee4c4b2187afbbc00d94b (diff)
downloadenlightenment-10b753bf7557b83c108536228d69b900ce360773.tar.gz
e_dnd: move the ungrab to the object free
otherwise there are cases where the ungrabbing is not executing, and blocking input.
-rw-r--r--src/bin/e_comp_wl_data.c1
-rw-r--r--src/bin/e_dnd.c6
2 files changed, 4 insertions, 3 deletions
diff --git a/src/bin/e_comp_wl_data.c b/src/bin/e_comp_wl_data.c
index 0ea274cb5b..490fd07492 100644
--- a/src/bin/e_comp_wl_data.c
+++ b/src/bin/e_comp_wl_data.c
@@ -376,7 +376,6 @@ _e_comp_wl_data_source_cb_resource_destroy(struct wl_resource *resource)
if (e_comp_wl->drag_source == source)
{
- e_comp_wl->drag_source = NULL;
//free the drag here
e_object_del(E_OBJECT(e_comp_wl->drag));
e_comp_wl->drag = NULL;
diff --git a/src/bin/e_dnd.c b/src/bin/e_dnd.c
index aecf4302d4..b6ad29dc0a 100644
--- a/src/bin/e_dnd.c
+++ b/src/bin/e_dnd.c
@@ -1072,8 +1072,6 @@ _e_drag_end(int x, int y)
_drag_current->cb.finished = NULL;
e_object_del(E_OBJECT(_drag_current));
- if (e_comp->comp_type == E_PIXMAP_TYPE_WL)
- e_comp_ungrab_input(1, 1);
}
static void
@@ -1153,7 +1151,11 @@ _e_drag_free(E_Drag *drag)
ecore_x_window_free(_drag_win);
ecore_x_window_shadow_tree_flush();
}
+ else
#endif
+ {
+ e_comp_ungrab_input(1, 1);
+ }
e_bindings_disabled_set(0);
_drag_win = 0;
}