aboutsummaryrefslogtreecommitdiff
path: root/src/FbTk/FbWindow.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/FbTk/FbWindow.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/FbTk/FbWindow.cc')
-rw-r--r--src/FbTk/FbWindow.cc15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/FbTk/FbWindow.cc b/src/FbTk/FbWindow.cc
index 1930d4e..357a26f 100644
--- a/src/FbTk/FbWindow.cc
+++ b/src/FbTk/FbWindow.cc
@@ -31,16 +31,19 @@
31#include <X11/Xutil.h> 31#include <X11/Xutil.h>
32#include <X11/Xatom.h> 32#include <X11/Xatom.h>
33 33
34#ifdef HAVE_CASSERT 34#include <cassert>
35 #include <cassert>
36#else
37 #include <assert.h>
38#endif
39
40#include <limits> 35#include <limits>
41 36
42namespace FbTk { 37namespace FbTk {
43 38
39Window FbWindow::rootWindow(Display* dpy, Drawable win) {
40 union { int i; unsigned int ui; } ignore;
41 Window root = None;
42 XGetGeometry(dpy, win, &root, &ignore.i, &ignore.i, &ignore.ui, &ignore.ui, &ignore.ui, &ignore.ui);
43 return root;
44}
45
46
44FbWindow::FbWindow(): 47FbWindow::FbWindow():
45 FbDrawable(), 48 FbDrawable(),
46 m_parent(0), m_screen_num(0), m_window(0), 49 m_parent(0), m_screen_num(0), m_window(0),