Zhao Yuhang
2025-03-11 c00e986f38dbc4843d92cc76a385f826658c1e03
src/core/contexts/win32windowcontext.cpp
@@ -37,6 +37,14 @@
#  error Current Qt version has a critical bug which will break QWK functionality. Please upgrade to > 6.6.1 or downgrade to < 6.6.0
#endif
#ifndef DWM_BB_ENABLE
#  define DWM_BB_ENABLE 0x00000001
#endif
#ifndef ABM_GETAUTOHIDEBAREX
#  define ABM_GETAUTOHIDEBAREX 0x0000000b
#endif
namespace QWK {
    enum IconButtonClickLevelFlag {
@@ -916,19 +924,12 @@
        Q_UNUSED(oldAttribute)
        const auto hwnd = reinterpret_cast<HWND>(m_windowId);
        if (!hwnd) {
            return false;
        }
        Q_ASSERT(hwnd);
        const DynamicApis &apis = DynamicApis::instance();
        const auto &extendMargins = [this, &apis, hwnd]() {
            // For some unknown reason, the window background is totally black when the host object
            // is a QWidget. And extending the window frame into the client area seems to fix it
            // magically.
            // We don't need the following *HACK* for QtQuick windows.
            if (!m_host->isWidgetType()) {
                return;
            }
            // For some unknown reason, the window background is totally black and extending
            // the window frame into the client area seems to fix it magically.
            // After many times of trying, we found that the Acrylic/Mica/Mica Alt background
            // only appears on the native Win32 window's background, so naturally we want to
            // extend the window frame into the whole client area to be able to let the special
@@ -957,6 +958,7 @@
        const auto &effectBugWorkaround = [this, hwnd]() {
            // We don't need the following *HACK* for QWidget windows.
            // Completely based on actual experiments, root reason is totally unknown.
            if (m_host->isWidgetType()) {
                return;
            }