From eada20a2c01bf8b2bac24c5e47661122b7aa8fc4 Mon Sep 17 00:00:00 2001
From: markt <markt>
Date: Tue, 13 Nov 2007 03:24:51 +0000
Subject: fix signaling when changing tabs

---
 src/Window.cc | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/Window.cc b/src/Window.cc
index aae258c..00d32e2 100644
--- a/src/Window.cc
+++ b/src/Window.cc
@@ -996,6 +996,7 @@ bool FluxboxWindow::setCurrentClient(WinClient &client, bool setinput) {
     if (!button)
         return false;
 
+    WinClient *old = m_client;
     m_client = &client;
     m_client->raise();
     m_client->focusSig().notify();
@@ -1009,7 +1010,11 @@ bool FluxboxWindow::setCurrentClient(WinClient &client, bool setinput) {
     frame().setLabelButtonFocus(*button);
     frame().setShapingClient(&client, false);
 
-    return setinput && focus();
+    bool ret = setinput && focus();
+    if (setinput)
+        // restore old client until focus event comes
+        m_client = old;
+    return ret;
 }
 
 bool FluxboxWindow::isGroupable() const {
-- 
cgit v0.11.2