]> git.sur5r.net Git - i3/i3/commitdiff
Bugfix: prevent unneeded render on pointer enter
authorTony Crisci <tony@dubstepdish.com>
Wed, 11 Jun 2014 00:28:19 +0000 (20:28 -0400)
committerMichael Stapelberg <michael@stapelberg.de>
Wed, 11 Jun 2014 07:38:49 +0000 (09:38 +0200)
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.

src/handlers.c

index d6e88913f1f35cec67828030b4f94bb42f0613b9..563d8c9d07763642397b2fe10c4dda0e069958a4 100644 (file)
@@ -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. */