slackware-current/source/xap/fluxbox/dcdde4d32c93d01df205bc06d7dfcbd356be031f.patch
Patrick J Volkerding 387bf82d1c Mon Jan 17 22:44:42 UTC 2022
Things haven't quite settled down yet with more bugfixes and a couple of safe
upgrades, so not today folks. But enjoy Slackware's half-birthday anyway! ;-)
ap/slackpkg-15.0.10-noarch-1.txz:  Upgraded.
  Fix mirrors.ucr.ac.cr link address (Emmet Ford)
  Remove wroc.pl mirrors (Emmet Ford)
  Remove kddilabs.jp from mirrors (Emmet Ford)
  Unattended usage improvements (PiterPUNK)
  Create file to flag if the system needs restart (PiterPUNK)
  Thanks to Robby Workman.
kde/kstars-3.5.7-x86_64-1.txz:  Upgraded.
kde/kwin-5.23.5-x86_64-2.txz:  Rebuilt.
  [PATCH] Bypass wayland interface blacklisting.
  Thanks to LuckyCyborg.
kde/plasma-workspace-5.23.5-x86_64-3.txz:  Rebuilt.
  [PATCH 1/2] Revert "Drop setupX11 from startplasma-waylandsession."
  [PATCH 2/2] Revert "Drop X11 root properties for KDE full session."
  Thanks to LuckyCyborg.
l/libical-3.0.13-x86_64-1.txz:  Upgraded.
n/p11-kit-0.24.1-x86_64-1.txz:  Upgraded.
n/stunnel-5.62-x86_64-1.txz:  Upgraded.
x/xterm-370-x86_64-4.txz:  Rebuilt.
  Fixed XTerm-console (previously XTerm.linux.console).
  Renamed XTerm.upstream.default to XTerm-upstream.
  Thanks to GazL.
xap/fluxbox-1.3.7-x86_64-6.txz:  Rebuilt.
  [PATCH] replace FbRootWindow::depth with maxDepth.
  Thanks to OldHolborn.
xap/geeqie-1.7.1-x86_64-1.txz:  Upgraded.
2022-01-18 08:59:56 +01:00

100 lines
4 KiB
Diff

From dcdde4d32c93d01df205bc06d7dfcbd356be031f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thomas=20L=C3=BCbking?= <thomas.luebking@gmail.com>
Date: Sat, 25 Jun 2016 22:25:48 +0200
Subject: 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
---
src/FbRootWindow.cc | 7 ++++---
src/FbRootWindow.hh | 2 ++
src/FbWinFrame.cc | 4 ++--
src/Screen.cc | 2 +-
4 files changed, 9 insertions(+), 6 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):
m_colormap(0),
m_decorationDepth(0),
m_decorationVisual(0),
- m_decorationColormap(0) {
+ m_decorationColormap(0),
+ m_maxDepth(depth()) {
Display *disp = FbTk::App::instance()->display();
@@ -55,9 +56,9 @@ FbRootWindow::FbRootWindow(int screen_num):
for (int i = 0; i < vinfo_nitems; i++) {
if ((DefaultDepth(disp, screen_num) < vinfo_return[i].depth)
- && (static_cast<int>(depth()) < vinfo_return[i].depth)){
+ && (m_maxDepth < vinfo_return[i].depth)){
m_visual = vinfo_return[i].visual;
- setDepth(vinfo_return[i].depth);
+ m_maxDepth = vinfo_return[i].depth;
}
if((m_decorationDepth < vinfo_return[i].depth)
diff --git a/src/FbRootWindow.hh b/src/FbRootWindow.hh
index 8e97cc3..739c9ef 100644
--- a/src/FbRootWindow.hh
+++ b/src/FbRootWindow.hh
@@ -41,6 +41,7 @@ public:
int decorationDepth() const { return m_decorationDepth; }
Visual *decorationVisual() const { return m_decorationVisual; }
Colormap decorationColormap() const { return m_decorationColormap; }
+ int maxDepth() const { return m_maxDepth; }
private:
Visual *m_visual;
@@ -49,6 +50,7 @@ private:
int m_decorationDepth;
Visual *m_decorationVisual;
Colormap m_decorationColormap;
+ int m_maxDepth;
};
#endif // FBROOTWINDOW_HH
diff --git a/src/FbWinFrame.cc b/src/FbWinFrame.cc
index 48d6e87..42b81e7 100644
--- a/src/FbWinFrame.cc
+++ b/src/FbWinFrame.cc
@@ -115,8 +115,8 @@ FbWinFrame::FbWinFrame(BScreen &screen, unsigned int client_depth,
m_state(state),
m_window(theme->screenNum(), state.x, state.y, state.width, state.height, s_mask, true, false,
client_depth, InputOutput,
- ((client_depth == 32) && (screen.rootWindow().depth() == 32) ? screen.rootWindow().visual() : CopyFromParent),
- ((client_depth == 32) && (screen.rootWindow().depth() == 32) ? screen.rootWindow().colormap() : CopyFromParent)),
+ (client_depth == screen.rootWindow().maxDepth() ? screen.rootWindow().visual() : CopyFromParent),
+ (client_depth == screen.rootWindow().maxDepth() ? screen.rootWindow().colormap() : CopyFromParent)),
m_layeritem(window(), *screen.layerManager().getLayer(ResourceLayer::NORMAL)),
m_titlebar(m_window, 0, 0, 100, 16, s_mask, false, false,
screen.rootWindow().decorationDepth(), InputOutput,
diff --git a/src/Screen.cc b/src/Screen.cc
index 2b5411d..94e4250 100644
--- a/src/Screen.cc
+++ b/src/Screen.cc
@@ -297,7 +297,7 @@ BScreen::BScreen(FbTk::ResourceManager &rm,
"using visual 0x%lx, depth %d\n",
"informational message saying screen number (%d), visual (%lx), and colour depth (%d)").c_str(),
screenNumber(), XVisualIDFromVisual(rootWindow().visual()),
- rootWindow().depth());
+ rootWindow().maxDepth());
#endif // DEBUG
FbTk::EventManager *evm = FbTk::EventManager::instance();
--
cgit v0.11.2