diff --git a/README.md b/README.md index b61cd97d..edd1d8d4 100644 --- a/README.md +++ b/README.md @@ -39,10 +39,11 @@ Wine. All those differences are also documented on the Included bug fixes and improvements ----------------------------------- -**Bug fixes and features included in the next upcoming release [12]:** +**Bug fixes and features included in the next upcoming release [13]:** * Add stub for winspool.SetPrinterW level 8 ([Wine Bug #24645](https://bugs.winehq.org/show_bug.cgi?id=24645)) * Allow non-nullterminated string as working directory in kernel32.create_startup_info +* Create Microsoft\Windows\Themes directory during Wineprefix creation ([Wine Bug #34910](https://bugs.winehq.org/show_bug.cgi?id=34910)) * Fallback to default comspec when %COMSPEC% is not set * Fix access violation in MSYS2 git when cloning repository * Fix error handling in DeferWindowPos when passing an invalid HWND ([Wine Bug #23187](https://bugs.winehq.org/show_bug.cgi?id=23187)) diff --git a/debian/changelog b/debian/changelog index 50380ff8..f7d9fa29 100644 --- a/debian/changelog +++ b/debian/changelog @@ -21,6 +21,8 @@ wine-staging (1.7.51) UNRELEASED; urgency=low * Added patch to silence repeated crypt32.CryptUnprotectMemory FIXMEs. * Added patch to fallback to default comspec when %COMSPEC% is not set (fixes Wine Staging Bug #449). + * Added patch to create Microsoft\Windows\Themes directory during Wineprefix + creation. * Removed patch to fix bug in wineserver debug_children inheritance (accepted upstream). * Removed patch to use helper function for NtWaitForMultipleObjects and diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 11b506b6..a861fa09 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -244,6 +244,7 @@ patch_enable_all () enable_shell32_File_Property_Dialog="$1" enable_shell32_IDragSourceHelper="$1" enable_shell32_Icons="$1" + enable_shell32_Microsoft_Windows_Themes="$1" enable_shell32_NewMenu_Interface="$1" enable_shell32_Placeholder_Icons="$1" enable_shell32_Progress_Dialog="$1" @@ -818,6 +819,9 @@ patch_enable () shell32-Icons) enable_shell32_Icons="$2" ;; + shell32-Microsoft_Windows_Themes) + enable_shell32_Microsoft_Windows_Themes="$2" + ;; shell32-NewMenu_Interface) enable_shell32_NewMenu_Interface="$2" ;; @@ -4832,6 +4836,21 @@ if test "$enable_shell32_Icons" -eq 1; then ) >> "$patchlist" fi +# Patchset shell32-Microsoft_Windows_Themes +# | +# | This patchset fixes the following Wine bugs: +# | * [#34910] Create Microsoft\Windows\Themes directory during Wineprefix creation +# | +# | Modified files: +# | * dlls/shell32/shellpath.c +# | +if test "$enable_shell32_Microsoft_Windows_Themes" -eq 1; then + patch_apply shell32-Microsoft_Windows_Themes/0001-shell32-Create-Microsoft-Windows-Themes-directory-du.patch + ( + echo '+ { "Sebastian Lackner", "shell32: Create Microsoft\\\\Windows\\\\Themes directory during Wineprefix creation.", 1 },'; + ) >> "$patchlist" +fi + # Patchset shell32-NewMenu_Interface # | # | This patchset fixes the following Wine bugs: diff --git a/patches/shell32-Microsoft_Windows_Themes/0001-shell32-Create-Microsoft-Windows-Themes-directory-du.patch b/patches/shell32-Microsoft_Windows_Themes/0001-shell32-Create-Microsoft-Windows-Themes-directory-du.patch new file mode 100644 index 00000000..209d5381 --- /dev/null +++ b/patches/shell32-Microsoft_Windows_Themes/0001-shell32-Create-Microsoft-Windows-Themes-directory-du.patch @@ -0,0 +1,47 @@ +From f4d7f0919cd5fd3ad3611e0a3df209846920f1b1 Mon Sep 17 00:00:00 2001 +From: Sebastian Lackner +Date: Thu, 3 Sep 2015 04:56:23 +0200 +Subject: shell32: Create Microsoft\Windows\Themes directory during Wineprefix + creation. + +--- + dlls/shell32/shellpath.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/dlls/shell32/shellpath.c b/dlls/shell32/shellpath.c +index 1a4528f..2c73442 100644 +--- a/dlls/shell32/shellpath.c ++++ b/dlls/shell32/shellpath.c +@@ -854,6 +854,7 @@ static const WCHAR Microsoft_Windows_Sidebar_GadgetsW[] = {'M','i','c','r','o',' + static const WCHAR Microsoft_Windows_Start_MenuW[] = {'M','i','c','r','o','s','o','f','t','\\','W','i','n','d','o','w','s','\\','S','t','a','r','t',' ','M','e','n','u',0}; + static const WCHAR Microsoft_Windows_TemplatesW[] = {'M','i','c','r','o','s','o','f','t','\\','W','i','n','d','o','w','s','\\','T','e','m','p','l','a','t','e','s',0}; + static const WCHAR Microsoft_Windows_Temporary_Internet_FilesW[] = {'M','i','c','r','o','s','o','f','t','\\','W','i','n','d','o','w','s','\\','T','e','m','p','o','r','a','r','y',' ','I','n','t','e','r','n','e','t',' ','F','i','l','e','s',0}; ++static const WCHAR Microsoft_Windows_ThemesW[] = {'M','i','c','r','o','s','o','f','t','\\','W','i','n','d','o','w','s','\\','T','h','e','m','e','s',0}; + static const WCHAR MoviesW[] = {'M','o','v','i','e','s','\0'}; + static const WCHAR MusicW[] = {'M','u','s','i','c','\0'}; + static const WCHAR MusicLibraryW[] = {'M','u','s','i','c','L','i','b','r','a','r','y',0}; +@@ -4107,6 +4108,7 @@ static HRESULT _SHRegisterUserShellFolders(BOOL bDefault) + }; + WCHAR userShellFolderPath[MAX_PATH], shellFolderPath[MAX_PATH]; + LPCWSTR pUserShellFolderPath, pShellFolderPath; ++ WCHAR path[MAX_PATH]; + HRESULT hr = S_OK; + HKEY hRootKey; + HANDLE hToken; +@@ -4135,6 +4137,13 @@ static HRESULT _SHRegisterUserShellFolders(BOOL bDefault) + + hr = _SHRegisterFolders(hRootKey, hToken, pUserShellFolderPath, + pShellFolderPath, folders, sizeof(folders) / sizeof(folders[0])); ++ ++ if (SUCCEEDED(hr)) ++ { ++ hr = SHGetFolderPathAndSubDirW(0, CSIDL_APPDATA | CSIDL_FLAG_CREATE, NULL, ++ SHGFP_TYPE_DEFAULT, Microsoft_Windows_ThemesW, path); ++ } ++ + TRACE("returning 0x%08x\n", hr); + return hr; + } +-- +2.5.0 + diff --git a/patches/shell32-Microsoft_Windows_Themes/definition b/patches/shell32-Microsoft_Windows_Themes/definition new file mode 100644 index 00000000..504a311b --- /dev/null +++ b/patches/shell32-Microsoft_Windows_Themes/definition @@ -0,0 +1 @@ +Fixes: [34910] Create Microsoft\Windows\Themes directory during Wineprefix creation