aboutsummaryrefslogtreecommitdiff
path: root/src/fluxbox.cc
diff options
context:
space:
mode:
authorMathias Gumz <akira@fluxbox.org>2015-01-22 09:14:12 (GMT)
committerMathias Gumz <akira@fluxbox.org>2015-01-22 09:14:12 (GMT)
commitc0e5d1c7a3867a82e0418e921afabf8e14909429 (patch)
treedf9d654321c6aa15af5417f0d7803a7bd408621c /src/fluxbox.cc
parent5428edf3daec57f490518ac356f60cc1a05a3693 (diff)
downloadfluxbox-c0e5d1c7a3867a82e0418e921afabf8e14909429.zip
fluxbox-c0e5d1c7a3867a82e0418e921afabf8e14909429.tar.bz2
Fix broken _NET_REQUEST_FRAME_EXTENTS support
There was a subtle flaw in the way fluxbox detects to which BScreen a given Window belongs: We have to compare the RootWindow of the given Window against the RootWindow of each BScreen. That underlying flaw made _NET_REQUEST_FRAME_EXTENTS fail: the code path needs a valid BScreen for the given window, otherwise we return early. Closes #1121.
Diffstat (limited to 'src/fluxbox.cc')
-rw-r--r--src/fluxbox.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/fluxbox.cc b/src/fluxbox.cc
index ab05f56..9b787f7 100644
--- a/src/fluxbox.cc
+++ b/src/fluxbox.cc
@@ -976,10 +976,15 @@ void Fluxbox::attachSignals(WinClient &winclient) {
976 976
977BScreen *Fluxbox::searchScreen(Window window) { 977BScreen *Fluxbox::searchScreen(Window window) {
978 978
979 Window window_root = FbTk::FbWindow::rootWindow(display(), window);
980 if (window_root == None) {
981 return 0;
982 }
983
979 ScreenList::iterator it = m_screen_list.begin(); 984 ScreenList::iterator it = m_screen_list.begin();
980 ScreenList::iterator it_end = m_screen_list.end(); 985 ScreenList::iterator it_end = m_screen_list.end();
981 for (; it != it_end; ++it) { 986 for (; it != it_end; ++it) {
982 if (*it && (*it)->rootWindow() == window) 987 if (*it && (*it)->rootWindow() == window_root)
983 return *it; 988 return *it;
984 } 989 }
985 990