Zhiyi Zhang : uxtheme: Disallow EnableTheming() to enable theming.
Alexandre Julliard
julliard at winehq.org
Wed Sep 22 16:04:37 CDT 2021
Module: wine
Branch: master
Commit: 50005fee22ce8b7dd86623679d5172b7073bf8f3
URL: https://source.winehq.org/git/wine.git/?a=commit;h=50005fee22ce8b7dd86623679d5172b7073bf8f3
Author: Zhiyi Zhang <zzhang at codeweavers.com>
Date: Wed Sep 22 10:24:10 2021 +0800
uxtheme: Disallow EnableTheming() to enable theming.
Signed-off-by: Zhiyi Zhang <zzhang at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/uxtheme/system.c | 12 ++++--------
dlls/uxtheme/tests/system.c | 1 -
2 files changed, 4 insertions(+), 9 deletions(-)
diff --git a/dlls/uxtheme/system.c b/dlls/uxtheme/system.c
index 8ced977c267..193e8f80538 100644
--- a/dlls/uxtheme/system.c
+++ b/dlls/uxtheme/system.c
@@ -571,20 +571,16 @@ BOOL WINAPI IsCompositionActive(void)
HRESULT WINAPI EnableTheming(BOOL fEnable)
{
HKEY hKey;
- WCHAR szEnabled[] = L"0";
TRACE("(%d)\n", fEnable);
- if(fEnable != bThemeActive) {
- if(fEnable)
- UXTHEME_BackupSystemMetrics();
- else
- UXTHEME_RestoreSystemMetrics();
+ if (bThemeActive && !fEnable)
+ {
+ UXTHEME_RestoreSystemMetrics();
UXTHEME_SaveSystemMetrics ();
bThemeActive = fEnable;
- if(bThemeActive) szEnabled[0] = '1';
if(!RegOpenKeyW(HKEY_CURRENT_USER, szThemeManager, &hKey)) {
- RegSetValueExW(hKey, L"ThemeActive", 0, REG_SZ, (BYTE*)szEnabled, sizeof(WCHAR));
+ RegSetValueExW(hKey, L"ThemeActive", 0, REG_SZ, (BYTE *)L"0", 2 * sizeof(WCHAR));
RegCloseKey(hKey);
}
UXTHEME_broadcast_msg (NULL, WM_THEMECHANGED);
diff --git a/dlls/uxtheme/tests/system.c b/dlls/uxtheme/tests/system.c
index a4ace2adfd3..3d85bffeaf7 100644
--- a/dlls/uxtheme/tests/system.c
+++ b/dlls/uxtheme/tests/system.c
@@ -1260,7 +1260,6 @@ static void test_EnableTheming(void)
hr = EnableTheming(TRUE);
ok(hr == S_OK, "EnableTheming failed, hr %#x.\n", hr);
- todo_wine
ok(!IsThemeActive(), "Expected theming inactive.\n");
hr = EnableTheming(FALSE);
More information about the wine-cvs
mailing list