From 3de6d6fd348668ff5179504e950ce20b15075391 Mon Sep 17 00:00:00 2001 From: Wladimir Leuschner Date: Fri, 31 May 2024 10:59:37 +0200 Subject: [PATCH] QWindowsVistaStyle: Fill menu popup with theme color The background for menu items is not drawn and can lead to a transparent background when switching from QWindows11Style to QWindowVistaStyle at runtime. This patch fills the background of menu items with MENU_POPUPBACKGROUND. Fixes: QTBUG-125474 Pick-to: 6.8 Change-Id: I246db15ec821f9bc46ba410293c41b7e24548716 Reviewed-by: Oliver Wolff --- src/plugins/styles/modernwindows/qwindowsvistastyle.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/plugins/styles/modernwindows/qwindowsvistastyle.cpp b/src/plugins/styles/modernwindows/qwindowsvistastyle.cpp index 208420d7e8b..a0ea7916232 100644 --- a/src/plugins/styles/modernwindows/qwindowsvistastyle.cpp +++ b/src/plugins/styles/modernwindows/qwindowsvistastyle.cpp @@ -2836,6 +2836,11 @@ void QWindowsVistaStyle::drawControl(ControlElement element, const QStyleOption } QRect rect = option->rect; + //fill popup background + QWindowsThemeData popupbackgroundTheme(widget, painter, QWindowsVistaStylePrivate::MenuTheme, + MENU_POPUPBACKGROUND, stateId, option->rect); + d->drawBackground(popupbackgroundTheme); + //draw vertical menu line if (option->direction == Qt::LeftToRight) checkcol += rect.x();