From 6d5b9e4706da32961c3c1c56de84af5111b300f0 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Fri, 30 Jan 2026 19:57:11 -0600 Subject: [PATCH] Remove Windows dark mode hack since SDL3 supports it natively --- app/streaming/session.cpp | 45 --------------------------------------- 1 file changed, 45 deletions(-) diff --git a/app/streaming/session.cpp b/app/streaming/session.cpp index a9dde174..e150a0e7 100644 --- a/app/streaming/session.cpp +++ b/app/streaming/session.cpp @@ -22,19 +22,6 @@ #define ICON_SIZE 64 #endif -// HACK: Remove once proper Dark Mode support lands in SDL -#ifdef Q_OS_WIN32 -#include -#include -#ifndef DWMWA_USE_IMMERSIVE_DARK_MODE_OLD -#define DWMWA_USE_IMMERSIVE_DARK_MODE_OLD 19 -#endif -#ifndef DWMWA_USE_IMMERSIVE_DARK_MODE -#define DWMWA_USE_IMMERSIVE_DARK_MODE 20 -#endif -#endif - - #define SDL_CODE_FLUSH_WINDOW_EVENT_BARRIER 100 #define SDL_CODE_GAMECONTROLLER_RUMBLE 101 #define SDL_CODE_GAMECONTROLLER_RUMBLE_TRIGGERS 102 @@ -1882,38 +1869,6 @@ void Session::exec() } } - // HACK: Remove once proper Dark Mode support lands in SDL -#ifdef Q_OS_WIN32 - if (m_QtWindow != nullptr) { - BOOL darkModeEnabled; - - // Query whether dark mode is enabled for our Qt window (which tracks the OS dark mode state) - if (FAILED(DwmGetWindowAttribute((HWND)m_QtWindow->winId(), DWMWA_USE_IMMERSIVE_DARK_MODE, &darkModeEnabled, sizeof(darkModeEnabled))) && - FAILED(DwmGetWindowAttribute((HWND)m_QtWindow->winId(), DWMWA_USE_IMMERSIVE_DARK_MODE_OLD, &darkModeEnabled, sizeof(darkModeEnabled)))) { - darkModeEnabled = FALSE; - } - - SDL_SysWMinfo info; - SDL_VERSION(&info.version); - - if (SDL_GetWindowWMInfo(m_Window, &info) && info.subsystem == SDL_SYSWM_WINDOWS) { - // If dark mode is enabled, propagate that to our SDL window - if (darkModeEnabled) { - if (FAILED(DwmSetWindowAttribute(info.info.win.window, DWMWA_USE_IMMERSIVE_DARK_MODE, &darkModeEnabled, sizeof(darkModeEnabled)))) { - DwmSetWindowAttribute(info.info.win.window, DWMWA_USE_IMMERSIVE_DARK_MODE_OLD, &darkModeEnabled, sizeof(darkModeEnabled)); - } - - // Toggle non-client rendering off and back on to ensure dark mode takes effect on Windows 10. - // DWM doesn't seem to correctly invalidate the non-client area after enabling dark mode. - DWMNCRENDERINGPOLICY ncPolicy = DWMNCRP_DISABLED; - DwmSetWindowAttribute(info.info.win.window, DWMWA_NCRENDERING_POLICY, &ncPolicy, sizeof(ncPolicy)); - ncPolicy = DWMNCRP_ENABLED; - DwmSetWindowAttribute(info.info.win.window, DWMWA_NCRENDERING_POLICY, &ncPolicy, sizeof(ncPolicy)); - } - } - } -#endif - m_InputHandler->setWindow(m_Window); QSvgRenderer svgIconRenderer(QString(":/res/moonlight.svg"));