mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-11-21 16:46:54 -08:00
Rebase against f232252951fec637758f6b2c4eeda1c0e0650310.
This commit is contained in:
parent
ad56d6b3d3
commit
d918a0ca3f
@ -1,4 +1,4 @@
|
||||
From 33486bf9924ffb152e008ec662e2f9905d67c449 Mon Sep 17 00:00:00 2001
|
||||
From 4d8244be2c89fe601d75bd17631d87f504dcd63a Mon Sep 17 00:00:00 2001
|
||||
From: Zebediah Figura <z.figura12@gmail.com>
|
||||
Date: Wed, 13 Jun 2018 10:44:49 -0500
|
||||
Subject: [PATCH] configure: Check for sys/eventfd.h, ppoll(), and shm_open().
|
||||
@ -13,7 +13,7 @@ Although perhaps we shouldn't since the server doesn't do this.
|
||||
3 files changed, 89 insertions(+)
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index f2319159834..a3916efab32 100755
|
||||
index 97b5dcfb38b..367008886d7 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -7543,6 +7543,7 @@ for ac_header in \
|
||||
@ -25,9 +25,9 @@ index f2319159834..a3916efab32 100755
|
||||
sys/ioctl.h \
|
||||
sys/ipc.h \
|
||||
@@ -18009,6 +18010,7 @@ for ac_func in \
|
||||
poll \
|
||||
port_create \
|
||||
posix_fadvise \
|
||||
posix_fallocate \
|
||||
+ ppoll \
|
||||
prctl \
|
||||
proc_pidinfo \
|
||||
@ -106,7 +106,7 @@ index f2319159834..a3916efab32 100755
|
||||
then
|
||||
if ${LDAP_CFLAGS:+false} :; then :
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 73869723bd3..6cab92efd74 100644
|
||||
index 0e65c78a81d..a3c9a627117 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -510,6 +510,7 @@ AC_CHECK_HEADERS(\
|
||||
@ -118,9 +118,9 @@ index 73869723bd3..6cab92efd74 100644
|
||||
sys/ioctl.h \
|
||||
sys/ipc.h \
|
||||
@@ -2212,6 +2213,7 @@ AC_CHECK_FUNCS(\
|
||||
poll \
|
||||
port_create \
|
||||
posix_fadvise \
|
||||
posix_fallocate \
|
||||
+ ppoll \
|
||||
prctl \
|
||||
proc_pidinfo \
|
||||
@ -143,12 +143,12 @@ index 73869723bd3..6cab92efd74 100644
|
||||
if test "x$with_ldap" != "xno"
|
||||
then
|
||||
diff --git a/include/config.h.in b/include/config.h.in
|
||||
index 9f8e7f34ada..5ecf57cde58 100644
|
||||
index f66444fd715..bf8fc85e6c5 100644
|
||||
--- a/include/config.h.in
|
||||
+++ b/include/config.h.in
|
||||
@@ -507,6 +507,9 @@
|
||||
/* Define to 1 if you have the `posix_fadvise' function. */
|
||||
#undef HAVE_POSIX_FADVISE
|
||||
/* Define to 1 if you have the `posix_fallocate' function. */
|
||||
#undef HAVE_POSIX_FALLOCATE
|
||||
|
||||
+/* Define to 1 if you have the `ppoll' function. */
|
||||
+#undef HAVE_PPOLL
|
||||
|
@ -51,7 +51,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "b5e17b669a90d961a93f6092ebc3736ff8ca9cd6"
|
||||
echo "f232252951fec637758f6b2c4eeda1c0e0650310"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
@ -204,7 +204,6 @@ patch_enable_all ()
|
||||
enable_shell32_SHFileOperation_Move="$1"
|
||||
enable_shell32_SHGetStockIconInfo="$1"
|
||||
enable_shell32_Toolbar_Bitmaps="$1"
|
||||
enable_shell32_UnixFS="$1"
|
||||
enable_shlwapi_AssocGetPerceivedType="$1"
|
||||
enable_shlwapi_UrlCanonicalize="$1"
|
||||
enable_shlwapi_UrlCombine="$1"
|
||||
@ -651,9 +650,6 @@ patch_enable ()
|
||||
shell32-Toolbar_Bitmaps)
|
||||
enable_shell32_Toolbar_Bitmaps="$2"
|
||||
;;
|
||||
shell32-UnixFS)
|
||||
enable_shell32_UnixFS="$2"
|
||||
;;
|
||||
shlwapi-AssocGetPerceivedType)
|
||||
enable_shlwapi_AssocGetPerceivedType="$2"
|
||||
;;
|
||||
@ -3174,7 +3170,7 @@ fi
|
||||
# | Modified files:
|
||||
# | * dlls/shell32/brsfolder.c, dlls/shell32/clipboard.c, dlls/shell32/dataobject.c, dlls/shell32/recyclebin.c,
|
||||
# | dlls/shell32/shell32.rc, dlls/shell32/shell32_main.h, dlls/shell32/shellfolder.h, dlls/shell32/shfldr_fs.c,
|
||||
# | dlls/shell32/shfldr_unixfs.c, dlls/shell32/shlview.c, dlls/shell32/shlview_cmenu.c
|
||||
# | dlls/shell32/shlview.c, dlls/shell32/shlview_cmenu.c
|
||||
# |
|
||||
if test "$enable_shell32_Context_Menu" -eq 1; then
|
||||
patch_apply shell32-Context_Menu/0003-shell32-Implement-insert-paste-for-item-context-menu.patch
|
||||
@ -3215,10 +3211,9 @@ fi
|
||||
# | * [#24851] Only set SFGAO_HASSUBFOLDER when there are really subfolders
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/shell32/shfldr_unixfs.c, dlls/shell32/shlfolder.c
|
||||
# | * dlls/shell32/shlfolder.c
|
||||
# |
|
||||
if test "$enable_shell32_SFGAO_HASSUBFOLDER" -eq 1; then
|
||||
patch_apply shell32-SFGAO_HASSUBFOLDER/0001-shell32-Set-SFGAO_HASSUBFOLDER-correctly-for-unixfs.patch
|
||||
patch_apply shell32-SFGAO_HASSUBFOLDER/0002-shell32-Set-SFGAO_HASSUBFOLDER-correctly-for-normal-.patch
|
||||
fi
|
||||
|
||||
@ -3248,18 +3243,6 @@ if test "$enable_shell32_Toolbar_Bitmaps" -eq 1; then
|
||||
patch_apply shell32-Toolbar_Bitmaps/0002-shell32-Add-more-Tango-icons-to-the-IE-toolbar.patch
|
||||
fi
|
||||
|
||||
# Patchset shell32-UnixFS
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#43109] Do not use unixfs for devices without mountpoint
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/shell32/shfldr_desktop.c, dlls/shell32/tests/shlfolder.c
|
||||
# |
|
||||
if test "$enable_shell32_UnixFS" -eq 1; then
|
||||
patch_apply shell32-UnixFS/0001-shell32-Do-not-use-unixfs-for-devices-without-mountp.patch
|
||||
fi
|
||||
|
||||
# Patchset shlwapi-AssocGetPerceivedType
|
||||
# |
|
||||
# | Modified files:
|
||||
|
@ -1,24 +1,23 @@
|
||||
From c785e3546c79d3247a0bc3abb5deee8b36d65951 Mon Sep 17 00:00:00 2001
|
||||
From 912755a07e996e6178a749f8b344c71a9401d6d8 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 2 Apr 2016 04:17:19 +0200
|
||||
Subject: shell32: Add parameter to ISFHelper::DeleteItems to allow deleting
|
||||
files without confirmation.
|
||||
Subject: [PATCH] shell32: Add parameter to ISFHelper::DeleteItems to allow
|
||||
deleting files without confirmation.
|
||||
|
||||
---
|
||||
dlls/shell32/brsfolder.c | 2 +-
|
||||
dlls/shell32/recyclebin.c | 6 +++---
|
||||
dlls/shell32/shellfolder.h | 4 ++--
|
||||
dlls/shell32/shfldr_fs.c | 3 ++-
|
||||
dlls/shell32/shfldr_unixfs.c | 7 ++++---
|
||||
dlls/shell32/shlview.c | 2 +-
|
||||
dlls/shell32/shlview_cmenu.c | 2 +-
|
||||
7 files changed, 14 insertions(+), 12 deletions(-)
|
||||
6 files changed, 10 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/dlls/shell32/brsfolder.c b/dlls/shell32/brsfolder.c
|
||||
index d771d0b..d8926e3 100644
|
||||
index 188524d6a99..d33d3f01009 100644
|
||||
--- a/dlls/shell32/brsfolder.c
|
||||
+++ b/dlls/shell32/brsfolder.c
|
||||
@@ -658,7 +658,7 @@ static LRESULT BrsFolder_Treeview_Keydown(browse_info *info, LPNMTVKEYDOWN keydo
|
||||
@@ -657,7 +657,7 @@ static LRESULT BrsFolder_Treeview_Keydown(browse_info *info, LPNMTVKEYDOWN keydo
|
||||
return 0;
|
||||
|
||||
/* perform the item deletion - tree view gets updated over shell notification */
|
||||
@ -28,10 +27,10 @@ index d771d0b..d8926e3 100644
|
||||
}
|
||||
break;
|
||||
diff --git a/dlls/shell32/recyclebin.c b/dlls/shell32/recyclebin.c
|
||||
index 0d80e63..66c5cc2 100644
|
||||
index 807cae3d81d..60462f9358f 100644
|
||||
--- a/dlls/shell32/recyclebin.c
|
||||
+++ b/dlls/shell32/recyclebin.c
|
||||
@@ -182,7 +182,7 @@ static void DoErase(RecycleBinMenu *This)
|
||||
@@ -173,7 +173,7 @@ static void DoErase(RecycleBinMenu *This)
|
||||
ISFHelper *helper;
|
||||
IShellFolder2_QueryInterface(This->folder,&IID_ISFHelper,(void**)&helper);
|
||||
if(helper)
|
||||
@ -40,7 +39,7 @@ index 0d80e63..66c5cc2 100644
|
||||
}
|
||||
|
||||
static void DoRestore(RecycleBinMenu *This)
|
||||
@@ -815,10 +815,10 @@ static HRESULT erase_items(HWND parent,const LPCITEMIDLIST * apidl, UINT cidl, B
|
||||
@@ -800,10 +800,10 @@ static HRESULT erase_items(HWND parent,const LPCITEMIDLIST * apidl, UINT cidl, B
|
||||
}
|
||||
|
||||
static HRESULT WINAPI RecycleBin_DeleteItems(ISFHelper * iface, UINT cidl,
|
||||
@ -54,7 +53,7 @@ index 0d80e63..66c5cc2 100644
|
||||
|
||||
static HRESULT WINAPI RecycleBin_CopyItems(ISFHelper * iface,
|
||||
diff --git a/dlls/shell32/shellfolder.h b/dlls/shell32/shellfolder.h
|
||||
index 942e0e7..b8083a2 100644
|
||||
index 942e0e7ea28..b8083a2625a 100644
|
||||
--- a/dlls/shell32/shellfolder.h
|
||||
+++ b/dlls/shell32/shellfolder.h
|
||||
@@ -48,7 +48,7 @@ DECLARE_INTERFACE_(ISFHelper,IUnknown)
|
||||
@ -76,10 +75,10 @@ index 942e0e7..b8083a2 100644
|
||||
#endif
|
||||
|
||||
diff --git a/dlls/shell32/shfldr_fs.c b/dlls/shell32/shfldr_fs.c
|
||||
index 66150f4..32178be 100644
|
||||
index 2fa17dee1dc..8d5e016596f 100644
|
||||
--- a/dlls/shell32/shfldr_fs.c
|
||||
+++ b/dlls/shell32/shfldr_fs.c
|
||||
@@ -1225,7 +1225,7 @@ static WCHAR *build_paths_list(LPCWSTR wszBasePath, int cidl, const LPCITEMIDLIS
|
||||
@@ -1285,7 +1285,7 @@ static WCHAR *build_paths_list(LPCWSTR wszBasePath, int cidl, const LPCITEMIDLIS
|
||||
* deletes items in folder
|
||||
*/
|
||||
static HRESULT WINAPI
|
||||
@ -88,7 +87,7 @@ index 66150f4..32178be 100644
|
||||
{
|
||||
IGenericSFImpl *This = impl_from_ISFHelper(iface);
|
||||
UINT i;
|
||||
@@ -1250,6 +1250,7 @@ ISFHelper_fnDeleteItems (ISFHelper * iface, UINT cidl, LPCITEMIDLIST * apidl)
|
||||
@@ -1310,6 +1310,7 @@ ISFHelper_fnDeleteItems (ISFHelper * iface, UINT cidl, LPCITEMIDLIST * apidl)
|
||||
op.wFunc = FO_DELETE;
|
||||
op.pFrom = wszPathsList;
|
||||
op.fFlags = FOF_ALLOWUNDO;
|
||||
@ -96,50 +95,11 @@ index 66150f4..32178be 100644
|
||||
if (SHFileOperationW(&op))
|
||||
{
|
||||
WARN("SHFileOperation failed\n");
|
||||
diff --git a/dlls/shell32/shfldr_unixfs.c b/dlls/shell32/shfldr_unixfs.c
|
||||
index 732a103..a2ca852 100644
|
||||
--- a/dlls/shell32/shfldr_unixfs.c
|
||||
+++ b/dlls/shell32/shfldr_unixfs.c
|
||||
@@ -1942,7 +1942,7 @@ static HRESULT WINAPI SFHelper_AddFolder(ISFHelper* iface, HWND hwnd, LPCWSTR pw
|
||||
* be converted, S_FALSE is returned. In such situation DeleteItems will try to delete
|
||||
* the files using syscalls
|
||||
*/
|
||||
-static HRESULT UNIXFS_delete_with_shfileop(UnixFolder *This, UINT cidl, const LPCITEMIDLIST *apidl)
|
||||
+static HRESULT UNIXFS_delete_with_shfileop(UnixFolder *This, UINT cidl, const LPCITEMIDLIST *apidl, BOOL confirm)
|
||||
{
|
||||
char szAbsolute[FILENAME_MAX], *pszRelative;
|
||||
LPWSTR wszPathsList, wszListPos;
|
||||
@@ -1984,6 +1984,7 @@ static HRESULT UNIXFS_delete_with_shfileop(UnixFolder *This, UINT cidl, const LP
|
||||
op.wFunc = FO_DELETE;
|
||||
op.pFrom = wszPathsList;
|
||||
op.fFlags = FOF_ALLOWUNDO;
|
||||
+ if (!confirm) op.fFlags |= FOF_NOCONFIRMATION;
|
||||
if (SHFileOperationW(&op))
|
||||
{
|
||||
WARN("SHFileOperationW failed\n");
|
||||
@@ -2022,7 +2023,7 @@ static HRESULT UNIXFS_delete_with_syscalls(UnixFolder *This, UINT cidl, const LP
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
-static HRESULT WINAPI SFHelper_DeleteItems(ISFHelper* iface, UINT cidl, LPCITEMIDLIST* apidl)
|
||||
+static HRESULT WINAPI SFHelper_DeleteItems(ISFHelper *iface, UINT cidl, LPCITEMIDLIST *apidl, BOOL confirm)
|
||||
{
|
||||
UnixFolder *This = impl_from_ISFHelper(iface);
|
||||
char szAbsolute[FILENAME_MAX], *pszRelative;
|
||||
@@ -2033,7 +2034,7 @@ static HRESULT WINAPI SFHelper_DeleteItems(ISFHelper* iface, UINT cidl, LPCITEMI
|
||||
|
||||
TRACE("(%p)->(%d %p)\n", This, cidl, apidl);
|
||||
|
||||
- hr = UNIXFS_delete_with_shfileop(This, cidl, apidl);
|
||||
+ hr = UNIXFS_delete_with_shfileop(This, cidl, apidl, confirm);
|
||||
if (hr == S_FALSE)
|
||||
hr = UNIXFS_delete_with_syscalls(This, cidl, apidl);
|
||||
|
||||
diff --git a/dlls/shell32/shlview.c b/dlls/shell32/shlview.c
|
||||
index c0c027f..9f23bfe 100644
|
||||
index 63512deb4b2..59376fb905f 100644
|
||||
--- a/dlls/shell32/shlview.c
|
||||
+++ b/dlls/shell32/shlview.c
|
||||
@@ -1577,7 +1577,7 @@ static LRESULT ShellView_OnNotify(IShellViewImpl * This, UINT CtlID, LPNMHDR lpn
|
||||
@@ -1573,7 +1573,7 @@ static LRESULT ShellView_OnNotify(IShellViewImpl * This, UINT CtlID, LPNMHDR lpn
|
||||
}
|
||||
|
||||
/* perform the item deletion */
|
||||
@ -149,10 +109,10 @@ index c0c027f..9f23bfe 100644
|
||||
|
||||
/* free pidl array memory */
|
||||
diff --git a/dlls/shell32/shlview_cmenu.c b/dlls/shell32/shlview_cmenu.c
|
||||
index 0daa5ef..0d380a8 100644
|
||||
index 7ebdaff588b..8ea828942e0 100644
|
||||
--- a/dlls/shell32/shlview_cmenu.c
|
||||
+++ b/dlls/shell32/shlview_cmenu.c
|
||||
@@ -294,7 +294,7 @@ static void DoDelete(ContextMenu *This)
|
||||
@@ -447,7 +447,7 @@ static void DoDelete(ContextMenu *This)
|
||||
IShellFolder_QueryInterface(This->parent, &IID_ISFHelper, (void**)&helper);
|
||||
if (helper)
|
||||
{
|
||||
@ -162,5 +122,5 @@ index 0daa5ef..0d380a8 100644
|
||||
}
|
||||
}
|
||||
--
|
||||
2.7.4
|
||||
2.33.0
|
||||
|
||||
|
@ -1,56 +0,0 @@
|
||||
From 357fccddcd9891844a0d973d39b1bde6f6163033 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 15 Aug 2015 21:09:22 +0200
|
||||
Subject: [PATCH] shell32: Set SFGAO_HASSUBFOLDER correctly for
|
||||
unixfs.
|
||||
|
||||
---
|
||||
dlls/shell32/shfldr_unixfs.c | 25 +++++++++++++++++++++----
|
||||
1 file changed, 21 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/dlls/shell32/shfldr_unixfs.c b/dlls/shell32/shfldr_unixfs.c
|
||||
index 92d1728..ac24871 100644
|
||||
--- a/dlls/shell32/shfldr_unixfs.c
|
||||
+++ b/dlls/shell32/shfldr_unixfs.c
|
||||
@@ -1143,8 +1143,10 @@ static HRESULT WINAPI ShellFolder2_GetAttributesOf(IShellFolder2* iface, UINT ci
|
||||
SFGAO_HASPROPSHEET | SFGAO_DROPTARGET | SFGAO_FILESYSTEM | SFGAO_LINK;
|
||||
lstrcpyA(szAbsolutePath, This->m_pszPath);
|
||||
pszRelativePath = szAbsolutePath + lstrlenA(szAbsolutePath);
|
||||
- for (i=0; i<cidl; i++) {
|
||||
- if (!(This->m_dwAttributes & SFGAO_FILESYSTEM)) {
|
||||
+ for (i=0; i<cidl; i++)
|
||||
+ {
|
||||
+ if (!(This->m_dwAttributes & SFGAO_FILESYSTEM))
|
||||
+ {
|
||||
WCHAR *dos_name;
|
||||
if (!UNIXFS_filename_from_shitemid(apidl[i], pszRelativePath))
|
||||
return E_INVALIDARG;
|
||||
@@ -1154,8 +1156,23 @@ static HRESULT WINAPI ShellFolder2_GetAttributesOf(IShellFolder2* iface, UINT ci
|
||||
heap_free( dos_name );
|
||||
}
|
||||
if (_ILIsFolder(apidl[i]))
|
||||
- *attrs |= SFGAO_FOLDER | SFGAO_HASSUBFOLDER | SFGAO_FILESYSANCESTOR |
|
||||
- SFGAO_STORAGEANCESTOR | SFGAO_STORAGE;
|
||||
+ {
|
||||
+ IEnumIDList *enum_list;
|
||||
+ IShellFolder2 *child;
|
||||
+
|
||||
+ *attrs |= SFGAO_FOLDER | SFGAO_FILESYSANCESTOR | SFGAO_STORAGEANCESTOR | SFGAO_STORAGE;
|
||||
+
|
||||
+ if (SUCCEEDED(IShellFolder2_BindToObject(iface, apidl[i], NULL, &IID_IShellFolder2, (void **)&child)))
|
||||
+ {
|
||||
+ if (IShellFolder2_EnumObjects(child, NULL, SHCONTF_FOLDERS|SHCONTF_INCLUDEHIDDEN, &enum_list) == S_OK)
|
||||
+ {
|
||||
+ if (IEnumIDList_Skip(enum_list, 1) == S_OK)
|
||||
+ *attrs |= SFGAO_HASSUBFOLDER;
|
||||
+ IEnumIDList_Release(enum_list);
|
||||
+ }
|
||||
+ IShellFolder2_Release(child);
|
||||
+ }
|
||||
+ }
|
||||
else
|
||||
*attrs |= SFGAO_STREAM;
|
||||
if ((*attrs & SFGAO_LINK))
|
||||
--
|
||||
1.9.1
|
||||
|
@ -1,101 +0,0 @@
|
||||
From 77d9da4571579004511b4328a34cdf575daf2139 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 30 May 2015 23:31:34 +0200
|
||||
Subject: [PATCH] shell32: Do not use unixfs for devices without mountpoint.
|
||||
|
||||
---
|
||||
dlls/shell32/shfldr_desktop.c | 17 ++++++++++++++++-
|
||||
dlls/shell32/tests/shlfolder.c | 32 ++++++++++++++++++++++++++++++++
|
||||
2 files changed, 48 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/shell32/shfldr_desktop.c b/dlls/shell32/shfldr_desktop.c
|
||||
index 880291c..fba7dd6 100644
|
||||
--- a/dlls/shell32/shfldr_desktop.c
|
||||
+++ b/dlls/shell32/shfldr_desktop.c
|
||||
@@ -186,11 +186,26 @@ static HRESULT WINAPI ISF_Desktop_fnParseDisplayName (IShellFolder2 * iface,
|
||||
}
|
||||
else if (PathGetDriveNumberW (lpszDisplayName) >= 0)
|
||||
{
|
||||
+ /*
|
||||
+ * UNIXFS can't handle drives without a mount point yet. We fall back
|
||||
+ * to use the MyComputer interface if we can't get the file attributes
|
||||
+ * on the device.
|
||||
+ */
|
||||
+ char drivePath[] = "A:\\";
|
||||
+ drivePath[0] = 'A' + PathGetDriveNumberW(lpszDisplayName);
|
||||
+
|
||||
/* it's a filesystem path with a drive. Let MyComputer/UnixDosFolder parse it */
|
||||
- if (UNIXFS_is_rooted_at_desktop())
|
||||
+ if (UNIXFS_is_rooted_at_desktop() &&
|
||||
+ GetFileAttributesA(drivePath) != INVALID_FILE_ATTRIBUTES)
|
||||
+ {
|
||||
pidlTemp = _ILCreateGuid(PT_GUID, &CLSID_UnixDosFolder);
|
||||
+ TRACE("Using unixfs for %s\n", debugstr_w(lpszDisplayName));
|
||||
+ }
|
||||
else
|
||||
+ {
|
||||
pidlTemp = _ILCreateMyComputer ();
|
||||
+ TRACE("Using MyComputer for %s\n", debugstr_w(lpszDisplayName));
|
||||
+ }
|
||||
szNext = lpszDisplayName;
|
||||
}
|
||||
else if (PathIsUNCW(lpszDisplayName))
|
||||
diff --git a/dlls/shell32/tests/shlfolder.c b/dlls/shell32/tests/shlfolder.c
|
||||
index bd4bba2..5eb47e4 100644
|
||||
--- a/dlls/shell32/tests/shlfolder.c
|
||||
+++ b/dlls/shell32/tests/shlfolder.c
|
||||
@@ -4215,12 +4215,34 @@ static void test_ShellItemArrayGetAttributes(void)
|
||||
Cleanup();
|
||||
}
|
||||
|
||||
+static WCHAR *get_empty_cddrive(void)
|
||||
+{
|
||||
+ static WCHAR cdrom_drive[] = {'A',':','\\',0};
|
||||
+ DWORD drives = GetLogicalDrives();
|
||||
+
|
||||
+ cdrom_drive[0] = 'A';
|
||||
+ while (drives)
|
||||
+ {
|
||||
+ if ((drives & 1) &&
|
||||
+ GetDriveTypeW(cdrom_drive) == DRIVE_CDROM &&
|
||||
+ GetFileAttributesW(cdrom_drive) == INVALID_FILE_ATTRIBUTES)
|
||||
+ {
|
||||
+ return cdrom_drive;
|
||||
+ }
|
||||
+
|
||||
+ drives = drives >> 1;
|
||||
+ cdrom_drive[0]++;
|
||||
+ }
|
||||
+ return NULL;
|
||||
+}
|
||||
+
|
||||
static void test_SHParseDisplayName(void)
|
||||
{
|
||||
LPITEMIDLIST pidl1, pidl2;
|
||||
IShellFolder *desktop;
|
||||
WCHAR dirW[MAX_PATH];
|
||||
WCHAR nameW[10];
|
||||
+ WCHAR *cdrom;
|
||||
HRESULT hr;
|
||||
BOOL ret, is_wow64;
|
||||
|
||||
@@ -4286,6 +4308,16 @@ if (0)
|
||||
}
|
||||
|
||||
IShellFolder_Release(desktop);
|
||||
+
|
||||
+ cdrom = get_empty_cddrive();
|
||||
+ if (!cdrom)
|
||||
+ skip("No empty cdrom drive found, skipping test\n");
|
||||
+ else
|
||||
+ {
|
||||
+ hr = SHParseDisplayName(cdrom, NULL, &pidl1, 0, NULL);
|
||||
+ ok(hr == S_OK, "failed %08x\n", hr);
|
||||
+ if (SUCCEEDED(hr)) ILFree(pidl1);
|
||||
+ }
|
||||
}
|
||||
|
||||
static void test_desktop_IPersist(void)
|
||||
--
|
||||
1.9.1
|
||||
|
@ -1,4 +0,0 @@
|
||||
Fixes: Do not use unixfs for devices without mountpoint
|
||||
Fixes: [43109] Do not use unixfs for devices without mountpoint
|
||||
# Note: this patch was added by slackner in 2015 May, two years before this bug
|
||||
# was filed. What was its original purpose?
|
@ -1,8 +1,7 @@
|
||||
From 064570eb530a73e822bf19ccb9bc31cd3654c504 Mon Sep 17 00:00:00 2001
|
||||
From f8f70e240299a518c8ce6dec56b7f0c318a14e7f Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Gabriel=20Iv=C4=83ncescu?= <gabrielopcode@gmail.com>
|
||||
Date: Mon, 22 Jul 2019 15:29:26 +0300
|
||||
Subject: [PATCH 2/2] user32/tests: Test a recursive activation loop on
|
||||
WM_ACTIVATE
|
||||
Subject: [PATCH] user32/tests: Test a recursive activation loop on WM_ACTIVATE
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
@ -16,10 +15,10 @@ Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
|
||||
1 file changed, 81 insertions(+)
|
||||
|
||||
diff --git a/dlls/user32/tests/msg.c b/dlls/user32/tests/msg.c
|
||||
index 64f7eeecf3..191e7bfffb 100644
|
||||
index 37a31eefa89..ec85a07b28a 100644
|
||||
--- a/dlls/user32/tests/msg.c
|
||||
+++ b/dlls/user32/tests/msg.c
|
||||
@@ -4772,6 +4772,39 @@ static void test_showwindow(void)
|
||||
@@ -5083,6 +5083,39 @@ static void test_showwindow(void)
|
||||
flush_sequence();
|
||||
}
|
||||
|
||||
@ -59,7 +58,7 @@ index 64f7eeecf3..191e7bfffb 100644
|
||||
static void test_sys_menu(void)
|
||||
{
|
||||
HWND hwnd;
|
||||
@@ -9699,6 +9732,48 @@ static LRESULT WINAPI ShowWindowProcA(HWND hwnd, UINT message, WPARAM wParam, LP
|
||||
@@ -10078,6 +10111,48 @@ static LRESULT WINAPI ShowWindowProcA(HWND hwnd, UINT message, WPARAM wParam, LP
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -108,7 +107,7 @@ index 64f7eeecf3..191e7bfffb 100644
|
||||
static LRESULT WINAPI PaintLoopProcA(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
switch (msg)
|
||||
@@ -9796,6 +9871,10 @@ static BOOL RegisterWindowClasses(void)
|
||||
@@ -10175,6 +10250,10 @@ static BOOL RegisterWindowClasses(void)
|
||||
cls.lpszClassName = "ShowWindowClass";
|
||||
if(!RegisterClassA(&cls)) return FALSE;
|
||||
|
||||
@ -119,7 +118,7 @@ index 64f7eeecf3..191e7bfffb 100644
|
||||
cls.lpfnWndProc = PopupMsgCheckProcA;
|
||||
cls.lpszClassName = "TestPopupClass";
|
||||
if(!RegisterClassA(&cls)) return FALSE;
|
||||
@@ -9851,6 +9930,7 @@ static BOOL is_our_logged_class(HWND hwnd)
|
||||
@@ -10230,6 +10309,7 @@ static BOOL is_our_logged_class(HWND hwnd)
|
||||
{
|
||||
if (!lstrcmpiA(buf, "TestWindowClass") ||
|
||||
!lstrcmpiA(buf, "ShowWindowClass") ||
|
||||
@ -127,14 +126,14 @@ index 64f7eeecf3..191e7bfffb 100644
|
||||
!lstrcmpiA(buf, "TestParentClass") ||
|
||||
!lstrcmpiA(buf, "TestPopupClass") ||
|
||||
!lstrcmpiA(buf, "SimpleWindowClass") ||
|
||||
@@ -17756,6 +17836,7 @@ START_TEST(msg)
|
||||
test_messages();
|
||||
test_setwindowpos();
|
||||
@@ -18476,6 +18556,7 @@ START_TEST(msg)
|
||||
hEvent_hook = 0;
|
||||
|
||||
test_showwindow();
|
||||
+ test_recursive_activation();
|
||||
invisible_parent_tests();
|
||||
test_mdi_messages();
|
||||
test_button_messages();
|
||||
--
|
||||
2.17.1
|
||||
2.33.0
|
||||
|
||||
|
@ -1 +1 @@
|
||||
b5e17b669a90d961a93f6092ebc3736ff8ca9cd6
|
||||
f232252951fec637758f6b2c4eeda1c0e0650310
|
||||
|
Loading…
Reference in New Issue
Block a user