bu5hm4n pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=a6f7d9ac1e64240fd3b044dc44c5ba207c3c44c1
commit a6f7d9ac1e64240fd3b044dc44c5ba207c3c44c1 Author: Marcel Hollerbach <[email protected]> Date: Fri Dec 12 09:39:51 2014 +0100 Register the new window into out evas. Summary: Otherwise the mouse up event is emitted to the evas but the evas does not work with it, because it does not know the window it is from. This leads to a evas_event_down_count_get bigger than 1 which leads to a missing mouse_out event. With this missing mouse_out event _post_up_handle in evas_event.c is not called anymore, this means all the click events are getting emitted to the object which was last clicked. This fixes T1894. Test Plan: Drag and Drop a icon somewhere and click somewhere after that, the evas will not get stuck anymore Reviewers: raster Subscribers: cedric, abyomi0, zmike, raster Maniphest Tasks: T1894 Differential Revision: https://phab.enlightenment.org/D1771 --- src/bin/e_dnd.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/bin/e_dnd.c b/src/bin/e_dnd.c index 832d1dc..cd006da 100644 --- a/src/bin/e_dnd.c +++ b/src/bin/e_dnd.c @@ -285,6 +285,8 @@ e_drag_start(E_Drag *drag, int x, int y) _drag_win = ecore_x_window_input_new(drag->comp->win, drag->comp->man->x, drag->comp->man->y, drag->comp->man->w, drag->comp->man->h); + ecore_event_window_register(_drag_win, drag->comp->ee, drag->comp->evas, + NULL, NULL, NULL, NULL); ecore_x_window_show(_drag_win); #endif _drag_win_root = drag->comp->man->root; @@ -1164,6 +1166,7 @@ _e_drag_free(E_Drag *drag) eina_stringshare_del(drag->types[i]); free(drag); #ifndef HAVE_WAYLAND_ONLY + ecore_event_window_unregister(_drag_win); ecore_x_window_free(_drag_win); ecore_x_window_shadow_tree_flush(); #endif --
