Details
-
Bug
-
Resolution: Unresolved
-
P3: Somewhat important
-
None
-
5.5.1
-
None
-
Windows 10 remote desktop.
Description
When Windows switches themes (which happens when logging into a Remote Desktop connection to the machine, it seems), the following is called:
void QWindowsTheme::refreshPalettes()
{ if (!QGuiApplication::desktopSettingsAware()) return; m_palettes[SystemPalette] = new QPalette(systemPalette()); m_palettes[ToolTipPalette] = new QPalette(toolTipPalette(*m_palettes[SystemPalette])); m_palettes[MenuPalette] = new QPalette(menuPalette(*m_palettes[SystemPalette])); m_palettes[MenuBarPalette] = menuBarPalette(*m_palettes[MenuPalette]); }> qwindowsd.dll!QWindowsTheme::refreshPalettes() Line 411 C++
qwindowsd.dll!QWindowsTheme::refresh() Line 68 C++
qwindowsd.dll!QWindowsTheme::windowsThemeChanged(QWindow * window=0x276478c0) Line 472 C++
qwindowsd.dll!QWindowsContext::windowsProc(HWND__ * hwnd=0x009c1490, unsigned int message=21, QtWindows::WindowsEventType et=ThemeChanged, unsigned int wParam=0, long lParam=0, long * result=0x010fd220) Line 1087 C++
qwindowsd.dll!qWindowsWndProc(HWND__ * hwnd=0x009c1490, unsigned int message=21, unsigned int wParam=0, long lParam=0) Line 1271 C++00004c
Neither refreshPalettes() nor refresh() delete the existing palettes.
In the latest version (6.2) the behavior seems to be the same, looking at the source code.