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 <caolanm@redhat.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145498
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
diff --git a/vcl/inc/win/salframe.h b/vcl/inc/win/salframe.h
index bbf3506..dedac69 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 35f2365..7af6e00 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 e381102..1c177a1 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;