From 9539e3670788a9c5751950c095dee3ac36d610af Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Thu, 12 Nov 2015 17:38:58 -0500 Subject: [PATCH] update E_Client->desk member upon focusing a sticky client a sticky window previously would always have the desk set for where it was set as sticky, meaning that anything which tries to access it will be reading wrong data here. more useful information to provide is the last desk which the sticky client was focused on, so update that upon focusing it --- src/bin/e_client.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/bin/e_client.c b/src/bin/e_client.c index ddb584812..b8e8c3678 100644 --- a/src/bin/e_client.c +++ b/src/bin/e_client.c @@ -3548,6 +3548,8 @@ e_client_focused_set(E_Client *ec) e_hints_active_window_set(ec->comp->man, ec); _e_client_event_simple(ec, E_EVENT_CLIENT_FOCUS_IN); + if (ec->sticky && ec->desk && (!ec->desk->visible)) + e_client_desk_set(ec, e_desk_current_get(ec->zone)); } E_API void