From: Tony Crisci Date: Wed, 11 Jun 2014 00:28:19 +0000 (-0400) Subject: Bugfix: prevent unneeded render on pointer enter X-Git-Tag: 4.8~19 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=8ece9950012e0a2d20db9d4d15bc3a3e30b96121;p=i3%2Fi3 Bugfix: prevent unneeded render on pointer enter When `focus_follows_mouse` option is on, prevent an uneeded render on pointer enter when the con is already focused. This pointer enter might be caused by entering a window decoration of an already-focused container. This extra render can cause concurrency issues when focus is set asynchronously with WM_TAKE_FOCUS. --- diff --git a/src/handlers.c b/src/handlers.c index d6e88913..563d8c9d 100644 --- a/src/handlers.c +++ b/src/handlers.c @@ -183,6 +183,10 @@ static void handle_enter_notify(xcb_enter_notify_event_t *event) { if (config.disable_focus_follows_mouse) return; + /* if this container is already focused, there is nothing to do. */ + if (con == focused) + return; + /* Get the currently focused workspace to check if the focus change also * involves changing workspaces. If so, we need to call workspace_show() to * correctly update state and send the IPC event. */