From: Jean-Marc Lasgouttes Date: Mon, 22 Jul 2024 18:36:20 +0000 (+0200) Subject: Remove alpha component of system colors X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=095bb18331f8eb4653691a64520d89d4a2d60fc4;p=lyx.git Remove alpha component of system colors When using system colors it may happen (on windows 11 in particular) that the background color is actually translucid. This is not something we are prepared to handle and it creates ghosts on screen. The fix is easy: the alpha channel of the colors is set to 255. Fixes bug #13084. --- diff --git a/src/frontends/qt/ColorCache.cpp b/src/frontends/qt/ColorCache.cpp index 1c3d68e548..2566b75025 100644 --- a/src/frontends/qt/ColorCache.cpp +++ b/src/frontends/qt/ColorCache.cpp @@ -86,7 +86,9 @@ QColor ColorCache::get(Color const & color, bool syscolors) const QPalette::ColorRole const cr = role(color.baseColor); if (syscolors && cr != QPalette::NoRole) { static QColor const white = Qt::white; - QColor const c = pal_.brush(QPalette::Active, cr).color(); + QColor c = pal_.brush(QPalette::Active, cr).color(); + // Change to fully opaque color + c.setAlpha(255); if (cr == QPalette::Base && c == white) return lcolors_[color.baseColor]; else