diff options
-rw-r--r-- | src/Window.cc | 7 |
1 files changed, 6 insertions, 1 deletions
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) { | |||
996 | if (!button) | 996 | if (!button) |
997 | return false; | 997 | return false; |
998 | 998 | ||
999 | WinClient *old = m_client; | ||
999 | m_client = &client; | 1000 | m_client = &client; |
1000 | m_client->raise(); | 1001 | m_client->raise(); |
1001 | m_client->focusSig().notify(); | 1002 | m_client->focusSig().notify(); |
@@ -1009,7 +1010,11 @@ bool FluxboxWindow::setCurrentClient(WinClient &client, bool setinput) { | |||
1009 | frame().setLabelButtonFocus(*button); | 1010 | frame().setLabelButtonFocus(*button); |
1010 | frame().setShapingClient(&client, false); | 1011 | frame().setShapingClient(&client, false); |
1011 | 1012 | ||
1012 | return setinput && focus(); | 1013 | bool ret = setinput && focus(); |
1014 | if (setinput) | ||
1015 | // restore old client until focus event comes | ||
1016 | m_client = old; | ||
1017 | return ret; | ||
1013 | } | 1018 | } |
1014 | 1019 | ||
1015 | bool FluxboxWindow::isGroupable() const { | 1020 | bool FluxboxWindow::isGroupable() const { |