vcl/inc/win/salframe.h                |    1 +
 vcl/inc/win/salinst.h                 |    1 -
 vcl/win/gdi/salnativewidgets-luna.cxx |    4 ++++
 3 files changed, 5 insertions(+), 1 deletion(-)

New commits:
commit 1ee2e012a41af4b507f533859ef5ce7d68eb5e89
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Thu Jan 12 16:36:56 2023 +0000
Commit:     Xisco Fauli <xiscofa...@libreoffice.org>
CommitDate: Mon Jan 16 08:40:47 2023 +0000

    tdf#152994 only query dark mode in Windows >= 10.0.18362
    
    Change-Id: I8d8bd368d9d1ee38dac96dd369484ec74ce4835a
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145414
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caol...@redhat.com>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145498
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>

diff --git a/vcl/inc/win/salframe.h b/vcl/inc/win/salframe.h
index bbf3506a723f..dedac6906467 100644
--- a/vcl/inc/win/salframe.h
+++ b/vcl/inc/win/salframe.h
@@ -148,6 +148,7 @@ public:
 void ImplSalGetWorkArea( HWND hWnd, RECT *pRect, const RECT *pParentRect );
 
 bool UseDarkMode();
+bool OSSupportsDarkMode();
 
 // get foreign key names
 namespace vcl_sal {
diff --git a/vcl/inc/win/salinst.h b/vcl/inc/win/salinst.h
index 35f2365fb166..7af6e007b562 100644
--- a/vcl/inc/win/salinst.h
+++ b/vcl/inc/win/salinst.h
@@ -85,7 +85,6 @@ public:
 SalFrame* ImplSalCreateFrame( WinSalInstance* pInst, HWND hWndParent, 
SalFrameStyleFlags nSalFrameStyle );
 SalObject* ImplSalCreateObject( WinSalInstance* pInst, WinSalFrame* pParent );
 HWND ImplSalReCreateHWND( HWND hWndParent, HWND oldhWnd, bool bAsChild );
-bool OSSupportsDarkMode();
 
 #endif // INCLUDED_VCL_INC_WIN_SALINST_H
 
diff --git a/vcl/win/gdi/salnativewidgets-luna.cxx 
b/vcl/win/gdi/salnativewidgets-luna.cxx
index e3811020a42e..1c177a1b2a97 100644
--- a/vcl/win/gdi/salnativewidgets-luna.cxx
+++ b/vcl/win/gdi/salnativewidgets-luna.cxx
@@ -398,6 +398,10 @@ static bool implDrawNativeMenuMark(HDC hDC, HTHEME hTheme, 
RECT rc, ControlPart
 
 bool UseDarkMode()
 {
+    static bool bOSSupportsDarkMode = OSSupportsDarkMode();
+    if (!bOSSupportsDarkMode)
+        return false;
+
     HINSTANCE hUxthemeLib = LoadLibraryExW(L"uxtheme.dll", nullptr, 
LOAD_LIBRARY_SEARCH_SYSTEM32);
     if (!hUxthemeLib)
         return false;

Reply via email to