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;