From 647f53b37e86a5daa49b3fcf8d5b710cd6e0c07a Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Mon, 4 Aug 2014 22:55:46 +0200 Subject: [PATCH] Remove patchset shell32-Register_Folders (accepted upstream), update changelog. --- README.md | 2 - debian/changelog | 6 +- patches/Makefile | 21 -- ...rofile-directories-available-in-Vist.patch | 185 ------------------ patches/shell32-Register_Folders/definition | 5 - 5 files changed, 5 insertions(+), 214 deletions(-) delete mode 100644 patches/shell32-Register_Folders/0001-shell32-Create-profile-directories-available-in-Vist.patch delete mode 100644 patches/shell32-Register_Folders/definition diff --git a/README.md b/README.md index b91c88ba..00b3e2de 100644 --- a/README.md +++ b/README.md @@ -20,8 +20,6 @@ Wine-Compholio contains fixes for the following Wine bugs: * Add implementation of WTSEnumerateProcessesW ([Wine Bug #29903](http://bugs.winehq.org/show_bug.cgi?id=29903 "Some Microsoft debuggers fail to enumerate processes due to wtsapi32.WTSEnumerateProcessesW() being a stub (Microsoft Visual Studio 2005, DbgCLR from .NET 2.0 SDK)")) * Add support for extra large and jumbo icon lists in shell32 ([Wine Bug #24721](http://bugs.winehq.org/show_bug.cgi?id=24721 "Explorer++ crashes when choosing to view large icons or extra large icons")) * Allow special characters in pipe names. ([Wine Bug #28995](http://bugs.winehq.org/show_bug.cgi?id=28995 "Unable to use named pipes with \">\" character in the name")) -* Create AppData\LocalLow directory inside the profile directory ([Wine Bug #22896](http://bugs.winehq.org/show_bug.cgi?id=22896 "Multiple applications and games need support for shell32 FOLDERID_LocalAppDataLow (.NET based Unity Engine games, Java JRE 6 in Vista mode)")) -* Create Saved Games directory inside the profile directory ([Wine Bug #28312](http://bugs.winehq.org/show_bug.cgi?id=28312 "Assassin's Creed Brotherhood v1.03 needs \"Saved Games\" folder")) * Fix for ConnectNamedPort return value in overlapped mode ([Wine Bug #16550](http://bugs.winehq.org/show_bug.cgi?id=16550 "ConnectNamedPort should never return OK in overlapped mode (affects chromium ui_tests.exe)")) * Fix race conditions and deadlocks in strmbase/quartz ([Wine Bug #31566](http://bugs.winehq.org/show_bug.cgi?id=31566 "Fallout 3: regression causes block at critical section when radio is enabled")) * GetSecurityInfo returns NULL DACL for process object ([Wine Bug #15980](http://bugs.winehq.org/show_bug.cgi?id=15980 "Rhapsody 2 crashes on startup (GetSecurityInfo returns NULL DACL for process object)")) diff --git a/debian/changelog b/debian/changelog index 0fa9d80f..38653d6b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,9 @@ wine-compholio (1.7.24) UNRELEASED; urgency=low + * Various further improvements to the patch system. * Added patch to implement inet_pton. * Added patch to implement GetSystemTimes. * Added patch to implement SHCreateSessionKey. - * Added patch to create AppData\LocalLow directory. + * Added patch to create directory available on Vista and later. * Added patch to fix edge cases in TOOLTIPS_GetTipText. * Added patch to allow special characters in pipe names. * Added patch with stubs for [Get|Set]SystemFileCacheSize. @@ -11,6 +12,9 @@ wine-compholio (1.7.24) UNRELEASED; urgency=low * Added patch to store IOCS data in a property instead of GWLP_USERDATA. * Added patch to return empty D3D hardware flags for HEL device enumeration. * Added patch to return the appropriate connection time with SO_CONNECT_TIME. + * Added patch to support extra large and jumbo icons. + * Added patch to allow setting tablet / media center status via registry. + * Removed patch to create directories (accepted upstream). -- Erich E. Hoover Wed, 30 Jul 2014 17:40:14 -0600 wine-compholio (1.7.23) unstable; urgency=low diff --git a/patches/Makefile b/patches/Makefile index 99c3aa58..115c512b 100644 --- a/patches/Makefile +++ b/patches/Makefile @@ -29,7 +29,6 @@ PATCHLIST := Miscellaneous.ok \ server-Stored_ACLs.ok \ shell32-Default_Folder_ACLs.ok \ shell32-Icons.ok \ - shell32-Register_Folders.ok \ shell32-SHCreateSessionKey.ok \ shlwapi-UrlCombine.ok \ strmbase-Lock_Race_Conditions.ok \ @@ -523,26 +522,6 @@ shell32-Icons.ok: echo '+ { "shell32-Icons", "Michael Müller", "Add support for extra large and jumbo icon lists in shell32." },'; \ ) > shell32-Icons.ok -# Patchset shell32-Register_Folders -# | -# | Included patches: -# | * Create additional profile directories available in vista and above. [rev 2, by Michael Müller] -# | -# | This patchset fixes the following Wine bugs: -# | * [#22896] Multiple applications and games need support for shell32 FOLDERID_LocalAppDataLow (.NET based Unity Engine -# | games, Java JRE 6 in Vista mode) -# | * [#28312] Assassin's Creed Brotherhood v1.03 needs "Saved Games" folder -# | -# | Modified files: -# | * dlls/shell32/shellpath.c, include/shlobj.h -# | -.INTERMEDIATE: shell32-Register_Folders.ok -shell32-Register_Folders.ok: - $(PATCH) < shell32-Register_Folders/0001-shell32-Create-profile-directories-available-in-Vist.patch - @( \ - echo '+ { "shell32-Register_Folders", "Michael Müller", "Create additional profile directories available in vista and above. [rev 2]" },'; \ - ) > shell32-Register_Folders.ok - # Patchset shell32-SHCreateSessionKey # | # | Included patches: diff --git a/patches/shell32-Register_Folders/0001-shell32-Create-profile-directories-available-in-Vist.patch b/patches/shell32-Register_Folders/0001-shell32-Create-profile-directories-available-in-Vist.patch deleted file mode 100644 index f5d7205c..00000000 --- a/patches/shell32-Register_Folders/0001-shell32-Create-profile-directories-available-in-Vist.patch +++ /dev/null @@ -1,185 +0,0 @@ -From 92dc11a14302d63443d61d5d2a2e0c1da130aa3f Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Michael=20M=C3=BCller?= -Date: Mon, 28 Jul 2014 01:21:04 +0200 -Subject: shell32: Create profile directories available in Vista and above. - ---- - dlls/shell32/shellpath.c | 58 ++++++++++++++++++++++++++++++++-------------- - include/shlobj.h | 9 +++++++ - 2 files changed, 50 insertions(+), 17 deletions(-) - -diff --git a/dlls/shell32/shellpath.c b/dlls/shell32/shellpath.c -index 158b1d1..e7548d1 100644 ---- a/dlls/shell32/shellpath.c -+++ b/dlls/shell32/shellpath.c -@@ -1280,10 +1280,10 @@ static const CSIDL_DATA CSIDL_Data[] = - NULL, - NULL - }, -- { /* 0x43 */ -+ { /* 0x43 - CSIDL_WINE_CONTACTS */ - &FOLDERID_Contacts, - CSIDL_Type_User, -- ContactsW, -+ NULL, - ContactsW - }, - { /* 0x44 */ -@@ -1304,7 +1304,7 @@ static const CSIDL_DATA CSIDL_Data[] = - NULL, - NULL - }, -- { /* 0x47 */ -+ { /* 0x47 - CSIDL_WINE_DOWNLOADS */ - &FOLDERID_Downloads, - CSIDL_Type_User, - NULL, -@@ -1340,13 +1340,13 @@ static const CSIDL_DATA CSIDL_Data[] = - NULL, - NULL - }, -- { /* 0x4d */ -+ { /* 0x4d - CSIDL_WINE_LINKS */ - &FOLDERID_Links, - CSIDL_Type_User, - NULL, - LinksW - }, -- { /* 0x4e */ -+ { /* 0x4e - CSIDL_WINE_APPDATA_LOCALLOW */ - &FOLDERID_LocalAppDataLow, - CSIDL_Type_User, - NULL, -@@ -1466,13 +1466,13 @@ static const CSIDL_DATA CSIDL_Data[] = - NULL, - Videos_Sample_VideosW - }, -- { /* 0x62 */ -+ { /* 0x62 - CSIDL_WINE_SAVED_GAMES */ - &FOLDERID_SavedGames, - CSIDL_Type_User, - NULL, - Saved_GamesW - }, -- { /* 0x63 */ -+ { /* 0x63 - CSIDL_WINE_SEARCHES */ - &FOLDERID_SavedSearches, - CSIDL_Type_User, - NULL, -@@ -1855,6 +1855,8 @@ static LPWSTR _GetUserSidStringFromToken(HANDLE Token) - static HRESULT _SHGetUserProfilePath(HANDLE hToken, DWORD dwFlags, BYTE folder, - LPWSTR pszPath) - { -+ const WCHAR *szValueName; -+ WCHAR buffer[40]; - HRESULT hr; - - TRACE("%p,0x%08x,0x%02x,%p\n", hToken, dwFlags, folder, pszPath); -@@ -1897,11 +1899,18 @@ static HRESULT _SHGetUserProfilePath(HANDLE hToken, DWORD dwFlags, BYTE folder, - goto error; - } - } -- hr = _SHGetUserShellFolderPath(hRootKey, userPrefix, -- CSIDL_Data[folder].szValueName, pszPath); -+ -+ /* For CSIDL_Type_User we also use the GUID if no szValueName is provided */ -+ szValueName = CSIDL_Data[folder].szValueName; -+ if (!szValueName) -+ { -+ StringFromGUID2( CSIDL_Data[folder].id, buffer, 39 ); -+ szValueName = &buffer[0]; -+ } -+ -+ hr = _SHGetUserShellFolderPath(hRootKey, userPrefix, szValueName, pszPath); - if (FAILED(hr) && hRootKey != HKEY_LOCAL_MACHINE) -- hr = _SHGetUserShellFolderPath(HKEY_LOCAL_MACHINE, NULL, -- CSIDL_Data[folder].szValueName, pszPath); -+ hr = _SHGetUserShellFolderPath(HKEY_LOCAL_MACHINE, NULL, szValueName, pszPath); - if (FAILED(hr)) - hr = _SHGetDefaultValue(folder, pszPath); - if (userPrefix != NULL && userPrefix != DefaultW) -@@ -2361,6 +2370,8 @@ static HRESULT _SHRegisterFolders(HKEY hRootKey, HANDLE hToken, - LPCWSTR szUserShellFolderPath, LPCWSTR szShellFolderPath, const UINT folders[], - UINT foldersLen) - { -+ const WCHAR *szValueName; -+ WCHAR buffer[40]; - UINT i; - WCHAR path[MAX_PATH]; - HRESULT hr = S_OK; -@@ -2383,7 +2394,16 @@ static HRESULT _SHRegisterFolders(HKEY hRootKey, HANDLE hToken, - for (i = 0; SUCCEEDED(hr) && i < foldersLen; i++) - { - dwPathLen = MAX_PATH * sizeof(WCHAR); -- if (RegQueryValueExW(hUserKey, CSIDL_Data[folders[i]].szValueName, NULL, -+ -+ /* For CSIDL_Type_User we also use the GUID if no szValueName is provided */ -+ szValueName = CSIDL_Data[folders[i]].szValueName; -+ if (!szValueName && CSIDL_Data[folders[i]].type == CSIDL_Type_User) -+ { -+ StringFromGUID2( CSIDL_Data[folders[i]].id, buffer, 39 ); -+ szValueName = &buffer[0]; -+ } -+ -+ if (RegQueryValueExW(hUserKey, szValueName, NULL, - &dwType, (LPBYTE)path, &dwPathLen) || (dwType != REG_SZ && - dwType != REG_EXPAND_SZ)) - { -@@ -2407,8 +2427,7 @@ static HRESULT _SHRegisterFolders(HKEY hRootKey, HANDLE hToken, - hr = E_FAIL; - if (*path) - { -- ret = RegSetValueExW(hUserKey, -- CSIDL_Data[folders[i]].szValueName, 0, REG_EXPAND_SZ, -+ ret = RegSetValueExW(hUserKey, szValueName, 0, REG_EXPAND_SZ, - (LPBYTE)path, (strlenW(path) + 1) * sizeof(WCHAR)); - if (ret) - hr = HRESULT_FROM_WIN32(ret); -@@ -2416,8 +2435,7 @@ static HRESULT _SHRegisterFolders(HKEY hRootKey, HANDLE hToken, - { - hr = SHGetFolderPathW(NULL, folders[i] | CSIDL_FLAG_CREATE, - hToken, SHGFP_TYPE_DEFAULT, path); -- ret = RegSetValueExW(hKey, -- CSIDL_Data[folders[i]].szValueName, 0, REG_SZ, -+ ret = RegSetValueExW(hKey, szValueName, 0, REG_SZ, - (LPBYTE)path, (strlenW(path) + 1) * sizeof(WCHAR)); - if (ret) - hr = HRESULT_FROM_WIN32(ret); -@@ -2457,7 +2475,13 @@ static HRESULT _SHRegisterUserShellFolders(BOOL bDefault) - CSIDL_HISTORY, - CSIDL_MYPICTURES, - CSIDL_FONTS, -- CSIDL_ADMINTOOLS -+ CSIDL_ADMINTOOLS, -+ CSIDL_WINE_CONTACTS, -+ CSIDL_WINE_DOWNLOADS, -+ CSIDL_WINE_LINKS, -+ CSIDL_WINE_APPDATA_LOCALLOW, -+ CSIDL_WINE_SAVED_GAMES, -+ CSIDL_WINE_SEARCHES - }; - WCHAR userShellFolderPath[MAX_PATH], shellFolderPath[MAX_PATH]; - LPCWSTR pUserShellFolderPath, pShellFolderPath; -diff --git a/include/shlobj.h b/include/shlobj.h -index 9025a73..dcea14e 100644 ---- a/include/shlobj.h -+++ b/include/shlobj.h -@@ -1529,6 +1529,15 @@ HRESULT WINAPI SHGetFolderPathW(HWND hwnd, int nFolder, HANDLE hToken, DWORD dwF - #define CSIDL_CDBURN_AREA 0x003b - #define CSIDL_COMPUTERSNEARME 0x003d - #define CSIDL_PROFILES 0x003e -+ -+/* Wine internal CSIDLs */ -+#define CSIDL_WINE_CONTACTS 0x0043 -+#define CSIDL_WINE_DOWNLOADS 0x0047 -+#define CSIDL_WINE_LINKS 0x004d -+#define CSIDL_WINE_APPDATA_LOCALLOW 0x004e -+#define CSIDL_WINE_SAVED_GAMES 0x0062 -+#define CSIDL_WINE_SEARCHES 0x0063 -+ - #define CSIDL_FOLDER_MASK 0x00ff - #define CSIDL_FLAG_PER_USER_INIT 0x0800 - #define CSIDL_FLAG_NO_ALIAS 0x1000 --- -1.7.9.5 - diff --git a/patches/shell32-Register_Folders/definition b/patches/shell32-Register_Folders/definition deleted file mode 100644 index fa397296..00000000 --- a/patches/shell32-Register_Folders/definition +++ /dev/null @@ -1,5 +0,0 @@ -Author: Michael Müller -Subject: Create additional profile directories available in vista and above. -Revision: 2 -Fixes: [22896] Create AppData\LocalLow directory inside the profile directory -Fixes: [28312] Create Saved Games directory inside the profile directory