summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Window.cc15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/Window.cc b/src/Window.cc
index be8fab6..4e49091 100644
--- a/src/Window.cc
+++ b/src/Window.cc
@@ -22,7 +22,7 @@
22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23// DEALINGS IN THE SOFTWARE. 23// DEALINGS IN THE SOFTWARE.
24 24
25// $Id: Window.cc,v 1.169 2003/05/11 13:36:11 fluxgen Exp $ 25// $Id: Window.cc,v 1.170 2003/05/11 15:32:23 fluxgen Exp $
26 26
27#include "Window.hh" 27#include "Window.hh"
28 28
@@ -1163,7 +1163,7 @@ bool FluxboxWindow::setInputFocus() {
1163 WinClient::TransientList::iterator it_end = m_client->transients.end(); 1163 WinClient::TransientList::iterator it_end = m_client->transients.end();
1164 for (; it != it_end; ++it) { 1164 for (; it != it_end; ++it) {
1165 if ((*it)->isModal()) 1165 if ((*it)->isModal())
1166 return (*it)->fbwindow()->setCurrentClient(**it,true); 1166 return (*it)->fbwindow()->setCurrentClient(**it, true);
1167 } 1167 }
1168 } else { 1168 } else {
1169 if (m_focus_mode == F_LOCALLYACTIVE || m_focus_mode == F_PASSIVE) { 1169 if (m_focus_mode == F_LOCALLYACTIVE || m_focus_mode == F_PASSIVE) {
@@ -1177,6 +1177,8 @@ bool FluxboxWindow::setInputFocus() {
1177 1177
1178 Fluxbox::instance()->setFocusedWindow(this); 1178 Fluxbox::instance()->setFocusedWindow(this);
1179 1179
1180 m_frame.setFocus(true);
1181
1180 if (send_focus_message) 1182 if (send_focus_message)
1181 m_client->sendFocus(); 1183 m_client->sendFocus();
1182 1184
@@ -1950,8 +1952,13 @@ void FluxboxWindow::handleEvent(XEvent &event) {
1950 1952
1951void FluxboxWindow::mapRequestEvent(XMapRequestEvent &re) { 1953void FluxboxWindow::mapRequestEvent(XMapRequestEvent &re) {
1952 // we're only conserned about client window event 1954 // we're only conserned about client window event
1953 if (re.window != m_client->window()) 1955 WinClient *client = findClient(re.window);
1956 if (client == 0) {
1957#ifdef DEBUG
1958 cerr<<"mapRequestEvent: Can't find client!"<<endl;
1959#endif // DEBUG
1954 return; 1960 return;
1961 }
1955 1962
1956 Fluxbox *fluxbox = Fluxbox::instance(); 1963 Fluxbox *fluxbox = Fluxbox::instance();
1957 1964
@@ -2006,7 +2013,7 @@ void FluxboxWindow::mapRequestEvent(XMapRequestEvent &re) {
2006 } 2013 }
2007 2014
2008 deiconify(false); 2015 deiconify(false);
2009 2016
2010 break; 2017 break;
2011 case InactiveState: 2018 case InactiveState:
2012 case ZoomState: 2019 case ZoomState: