RegSetValueExW was including the comparison in the size param and
therefore not writing the wallpaper path to the registry. The wallpaper
now stays after a reboot.
Modified: trunk/reactos/lib/user32/misc/desktop.c
_____
Modified: trunk/reactos/lib/user32/misc/desktop.c
--- trunk/reactos/lib/user32/misc/desktop.c 2005-11-23 00:09:17 UTC
(rev 19472)
+++ trunk/reactos/lib/user32/misc/desktop.c 2005-11-23 00:15:45 UTC
(rev 19473)
@@ -293,8 +293,8 @@
L"Control Panel\\Desktop",
0, KEY_SET_VALUE, &hKey) == ERROR_SUCCESS)
{
- Ret = RegSetValueExW(hKey, L"Wallpaper", 0, REG_SZ,
(lpWallpaper != NULL ? (LPBYTE)lpWallpaper : (LPBYTE)L""),
- (lpWallpaper != NULL ?
(lstrlenW(lpWallpaper) + 1) * sizeof(WCHAR) : sizeof(WCHAR)) ==
ERROR_SUCCESS);
+ Ret = (RegSetValueExW(hKey, L"Wallpaper", 0, REG_SZ,
(lpWallpaper != NULL ? (LPBYTE)lpWallpaper : (LPBYTE)L""),
+ (lpWallpaper != NULL ?
(lstrlenW(lpWallpaper) + 1) * sizeof(WCHAR) : sizeof(WCHAR))) ==
ERROR_SUCCESS);
RegCloseKey(hKey);
}
}
Show replies by date