aboutsummaryrefslogtreecommitdiff
path: root/src/FbRootWindow.cc
diff options
context:
space:
mode:
authorThomas Lübking <thomas.luebking@gmail.com>2016-06-25 20:25:48 (GMT)
committerMathias Gumz <akira@fluxbox.org>2016-06-26 14:29:34 (GMT)
commitdcdde4d32c93d01df205bc06d7dfcbd356be031f (patch)
treecc44a58c3e1bbe25e94e969757b8eedb89ca67da /src/FbRootWindow.cc
parent484c33bf25a37952a91123fb728e4b983e70f531 (diff)
downloadfluxbox-dcdde4d32c93d01df205bc06d7dfcbd356be031f.zip
fluxbox-dcdde4d32c93d01df205bc06d7dfcbd356be031f.tar.bz2
replace FbRootWindow::depth with maxDepth
The depth member of FbWindow was abused to store the maximum depth but that gets overridden with geometry changes of the root window (screen layout changes) so we store and read the value explicitly while ::depth() maintains the actual depth of the root window The result of this is that frames for ARGB windows were created with a wrong depth and failed to reparent the client window. BUG: 1102 BUG: 1058
Diffstat (limited to 'src/FbRootWindow.cc')
-rw-r--r--src/FbRootWindow.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/FbRootWindow.cc b/src/FbRootWindow.cc
index d17d56f..91bd695 100644
--- a/src/FbRootWindow.cc
+++ b/src/FbRootWindow.cc
@@ -30,7 +30,8 @@ FbRootWindow::FbRootWindow(int screen_num):
30 m_colormap(0), 30 m_colormap(0),
31 m_decorationDepth(0), 31 m_decorationDepth(0),
32 m_decorationVisual(0), 32 m_decorationVisual(0),
33 m_decorationColormap(0) { 33 m_decorationColormap(0),
34 m_maxDepth(depth()) {
34 35
35 Display *disp = FbTk::App::instance()->display(); 36 Display *disp = FbTk::App::instance()->display();
36 37
@@ -55,9 +56,9 @@ FbRootWindow::FbRootWindow(int screen_num):
55 56
56 for (int i = 0; i < vinfo_nitems; i++) { 57 for (int i = 0; i < vinfo_nitems; i++) {
57 if ((DefaultDepth(disp, screen_num) < vinfo_return[i].depth) 58 if ((DefaultDepth(disp, screen_num) < vinfo_return[i].depth)
58 && (static_cast<int>(depth()) < vinfo_return[i].depth)){ 59 && (m_maxDepth < vinfo_return[i].depth)){
59 m_visual = vinfo_return[i].visual; 60 m_visual = vinfo_return[i].visual;
60 setDepth(vinfo_return[i].depth); 61 m_maxDepth = vinfo_return[i].depth;
61 } 62 }
62 63
63 if((m_decorationDepth < vinfo_return[i].depth) 64 if((m_decorationDepth < vinfo_return[i].depth)