From 8f8b25ae7d728805e229932f179c2704952e960a Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 22 Nov 2016 11:29:54 -0500 Subject: [PATCH] make fake mouse-out upon focus-out conditional on pending pointer warp in the case where warping would not occur and a mouse-based focus policy was not in use, this would break mouse eventing on wayland when a window lost focus but the cursor remained inside the window ref 3e6d6b348fd856d161aab98f5024e2293c292bd9 --- src/bin/e_client.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/bin/e_client.c b/src/bin/e_client.c index 65766fb90..7de61e83e 100644 --- a/src/bin/e_client.c +++ b/src/bin/e_client.c @@ -3406,7 +3406,8 @@ e_client_focused_set(E_Client *ec) ec_unfocus->want_focus = ec_unfocus->focused = 0; if (!e_object_is_del(E_OBJECT(ec_unfocus))) e_focus_event_focus_out(ec_unfocus); - if (ec_unfocus->mouse.in && ec && (!e_client_util_is_popup(ec))) + if (ec_unfocus->mouse.in && ec && (!e_client_util_is_popup(ec)) && + (e_config->focus_policy != E_FOCUS_CLICK) && e_config->pointer_slide) e_client_mouse_out(ec_unfocus, ec_unfocus->x - 1, ec_unfocus->y - 1); E_FREE_FUNC(ec_unfocus->raise_timer, ecore_timer_del);