Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-96939

QWindowsTheme leaks palettes

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: P3: Somewhat important P3: Somewhat important
    • None
    • 5.5.1
    • QPA: Windows
    • None
    • Windows 10 remote desktop.
    • Windows

      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.

       

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            owolff Oliver Wolff
            mkentie Marijn Kentie
            Votes:
            1 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:

                There are no open Gerrit changes