From 31a2f109277fb8e9baee248b280b99c4037a0fa3 Mon Sep 17 00:00:00 2001 From: Tom Date: Sun, 4 Jul 2021 10:25:14 -0600 Subject: [PATCH] LibGfx: Fix classic theme frame transparency check We shouldn't use the title stripe or title shadow colors to determine whether the frame itself is going to have alpha channels or not. This caused e.g. the classic theme's window frame to be rendered as transparency just because the stripe color had an alpha channel of 0. --- Userland/Libraries/LibGfx/ClassicWindowTheme.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Userland/Libraries/LibGfx/ClassicWindowTheme.h b/Userland/Libraries/LibGfx/ClassicWindowTheme.h index 607e8a2e42..529f9d0fde 100644 --- a/Userland/Libraries/LibGfx/ClassicWindowTheme.h +++ b/Userland/Libraries/LibGfx/ClassicWindowTheme.h @@ -47,7 +47,10 @@ private: bool uses_alpha() const { - return title_color.alpha() != 0xff || border_color.alpha() != 0xff || border_color2.alpha() != 0xff || title_stripes_color.alpha() != 0xff || title_shadow_color.alpha() != 0xff; + // We don't care about the title_stripes_color or title_shadow_color alpha channels because they are + // effectively rendered on top of the borders and don't mean whether the frame itself atually has + // any alpha channels that would require the entire frame to be rendered as transparency. + return title_color.alpha() != 0xff || border_color.alpha() != 0xff || border_color2.alpha() != 0xff; } };