discomfitor pushed a commit to branch enlightenment-0.21.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=ae47f0bbb2466130967414e2ee46785d8fb8598f

commit ae47f0bbb2466130967414e2ee46785d8fb8598f
Author: Marcel Hollerbach <[email protected]>
Date:   Wed Aug 3 19:02:26 2016 +0200

    e_dnd: move the ungrab to the object free
    
    otherwise there are cases where the ungrabbing is not executing, and
    blocking input.
---
 src/bin/e_comp_wl_data.c | 1 -
 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 0ea274c..490fd07 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 aecf430..b6ad29d 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;
 }

-- 


Reply via email to