diff options
author | Marcel Hollerbach <marcel-hollerbach@t-online.de> | 2016-08-03 19:02:26 +0200 |
---|---|---|
committer | Marcel Hollerbach <marcel-hollerbach@t-online.de> | 2016-08-04 16:38:51 +0200 |
commit | 10b753bf7557b83c108536228d69b900ce360773 (patch) | |
tree | fda2fe37d47fce2b4ba687d729fec1fbb6486c5f | |
parent | 754a91b44797b29e662ee4c4b2187afbbc00d94b (diff) | |
download | enlightenment-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.c | 1 | ||||
-rw-r--r-- | src/bin/e_dnd.c | 6 |
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; } |