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)
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 0ea274cb5..490fd0749 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)
376 376
377 if (e_comp_wl->drag_source == source) 377 if (e_comp_wl->drag_source == source)
378 { 378 {
379 e_comp_wl->drag_source = NULL;
380 //free the drag here 379 //free the drag here
381 e_object_del(E_OBJECT(e_comp_wl->drag)); 380 e_object_del(E_OBJECT(e_comp_wl->drag));
382 e_comp_wl->drag = NULL; 381 e_comp_wl->drag = NULL;
diff --git a/src/bin/e_dnd.c b/src/bin/e_dnd.c
index aecf4302d..b6ad29dc0 100644
--- a/src/bin/e_dnd.c
+++ b/src/bin/e_dnd.c
@@ -1072,8 +1072,6 @@ _e_drag_end(int x, int y)
1072 _drag_current->cb.finished = NULL; 1072 _drag_current->cb.finished = NULL;
1073 1073
1074 e_object_del(E_OBJECT(_drag_current)); 1074 e_object_del(E_OBJECT(_drag_current));
1075 if (e_comp->comp_type == E_PIXMAP_TYPE_WL)
1076 e_comp_ungrab_input(1, 1);
1077} 1075}
1078 1076
1079static void 1077static void
@@ -1153,7 +1151,11 @@ _e_drag_free(E_Drag *drag)
1153 ecore_x_window_free(_drag_win); 1151 ecore_x_window_free(_drag_win);
1154 ecore_x_window_shadow_tree_flush(); 1152 ecore_x_window_shadow_tree_flush();
1155 } 1153 }
1154 else
1156#endif 1155#endif
1156 {
1157 e_comp_ungrab_input(1, 1);
1158 }
1157 e_bindings_disabled_set(0); 1159 e_bindings_disabled_set(0);
1158 _drag_win = 0; 1160 _drag_win = 0;
1159} 1161}