diff options
author | markt <markt> | 2007-11-13 03:24:51 (GMT) |
---|---|---|
committer | markt <markt> | 2007-11-13 03:24:51 (GMT) |
commit | eada20a2c01bf8b2bac24c5e47661122b7aa8fc4 (patch) | |
tree | 2892e2ad9750f8060eb229569024f21e8210043d /src | |
parent | bed4ba4d65dba0d12a8352a46436f25ce3d0e7d1 (diff) | |
download | fluxbox_pavel-eada20a2c01bf8b2bac24c5e47661122b7aa8fc4.zip fluxbox_pavel-eada20a2c01bf8b2bac24c5e47661122b7aa8fc4.tar.bz2 |
fix signaling when changing tabs
Diffstat (limited to 'src')
-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 { |