Rebase against b1a3b9e5ce74990777fca94658833802cb7b7a09.

This commit is contained in:
Zebediah Figura
2018-09-20 18:18:30 -05:00
parent 42312b1e3f
commit 3f082c2d0a
10 changed files with 169 additions and 491 deletions

View File

@@ -1,20 +1,34 @@
From 60a000e4b5c59b93db1ea24566ad4d7eeea9408b Mon Sep 17 00:00:00 2001
From c785e3546c79d3247a0bc3abb5deee8b36d65951 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.
---
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 +-
6 files changed, 13 insertions(+), 11 deletions(-)
7 files changed, 14 insertions(+), 12 deletions(-)
diff --git a/dlls/shell32/brsfolder.c b/dlls/shell32/brsfolder.c
index d771d0b..d8926e3 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
return 0;
/* perform the item deletion - tree view gets updated over shell notification */
- ISFHelper_DeleteItems(psfhlp, 1, &item_id);
+ ISFHelper_DeleteItems(psfhlp, 1, &item_id, TRUE);
ISFHelper_Release(psfhlp);
}
break;
diff --git a/dlls/shell32/recyclebin.c b/dlls/shell32/recyclebin.c
index 28098af..f890d97 100644
index 0d80e63..66c5cc2 100644
--- a/dlls/shell32/recyclebin.c
+++ b/dlls/shell32/recyclebin.c
@@ -182,7 +182,7 @@ static void DoErase(RecycleBinMenu *This)
@@ -26,7 +40,7 @@ index 28098af..f890d97 100644
}
static void DoRestore(RecycleBinMenu *This)
@@ -824,10 +824,10 @@ static HRESULT erase_items(HWND parent,const LPCITEMIDLIST * apidl, UINT cidl, B
@@ -815,10 +815,10 @@ static HRESULT erase_items(HWND parent,const LPCITEMIDLIST * apidl, UINT cidl, B
}
static HRESULT WINAPI RecycleBin_DeleteItems(ISFHelper * iface, UINT cidl,
@@ -62,10 +76,10 @@ index 942e0e7..b8083a2 100644
#endif
diff --git a/dlls/shell32/shfldr_fs.c b/dlls/shell32/shfldr_fs.c
index d8bcb4c..3d88fbd 100644
index 66150f4..32178be 100644
--- a/dlls/shell32/shfldr_fs.c
+++ b/dlls/shell32/shfldr_fs.c
@@ -1230,7 +1230,7 @@ static WCHAR *build_paths_list(LPCWSTR wszBasePath, int cidl, const LPCITEMIDLIS
@@ -1225,7 +1225,7 @@ static WCHAR *build_paths_list(LPCWSTR wszBasePath, int cidl, const LPCITEMIDLIS
* deletes items in folder
*/
static HRESULT WINAPI
@@ -74,7 +88,7 @@ index d8bcb4c..3d88fbd 100644
{
IGenericSFImpl *This = impl_from_ISFHelper(iface);
UINT i;
@@ -1255,6 +1255,7 @@ ISFHelper_fnDeleteItems (ISFHelper * iface, UINT cidl, LPCITEMIDLIST * apidl)
@@ -1250,6 +1250,7 @@ ISFHelper_fnDeleteItems (ISFHelper * iface, UINT cidl, LPCITEMIDLIST * apidl)
op.wFunc = FO_DELETE;
op.pFrom = wszPathsList;
op.fFlags = FOF_ALLOWUNDO;
@@ -83,10 +97,10 @@ index d8bcb4c..3d88fbd 100644
{
WARN("SHFileOperation failed\n");
diff --git a/dlls/shell32/shfldr_unixfs.c b/dlls/shell32/shfldr_unixfs.c
index 17998f2..d558efb 100644
index 732a103..a2ca852 100644
--- a/dlls/shell32/shfldr_unixfs.c
+++ b/dlls/shell32/shfldr_unixfs.c
@@ -1939,7 +1939,7 @@ static HRESULT WINAPI SFHelper_AddFolder(ISFHelper* iface, HWND hwnd, LPCWSTR pw
@@ -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
*/
@@ -95,7 +109,7 @@ index 17998f2..d558efb 100644
{
char szAbsolute[FILENAME_MAX], *pszRelative;
LPWSTR wszPathsList, wszListPos;
@@ -1981,6 +1981,7 @@ static HRESULT UNIXFS_delete_with_shfileop(UnixFolder *This, UINT cidl, const LP
@@ -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;
@@ -103,7 +117,7 @@ index 17998f2..d558efb 100644
if (SHFileOperationW(&op))
{
WARN("SHFileOperationW failed\n");
@@ -2019,7 +2020,7 @@ static HRESULT UNIXFS_delete_with_syscalls(UnixFolder *This, UINT cidl, const LP
@@ -2022,7 +2023,7 @@ static HRESULT UNIXFS_delete_with_syscalls(UnixFolder *This, UINT cidl, const LP
return S_OK;
}
@@ -112,7 +126,7 @@ index 17998f2..d558efb 100644
{
UnixFolder *This = impl_from_ISFHelper(iface);
char szAbsolute[FILENAME_MAX], *pszRelative;
@@ -2030,7 +2031,7 @@ static HRESULT WINAPI SFHelper_DeleteItems(ISFHelper* iface, UINT cidl, LPCITEMI
@@ -2033,7 +2034,7 @@ static HRESULT WINAPI SFHelper_DeleteItems(ISFHelper* iface, UINT cidl, LPCITEMI
TRACE("(%p)->(%d %p)\n", This, cidl, apidl);
@@ -122,10 +136,10 @@ index 17998f2..d558efb 100644
hr = UNIXFS_delete_with_syscalls(This, cidl, apidl);
diff --git a/dlls/shell32/shlview.c b/dlls/shell32/shlview.c
index b763468..1770e6f 100644
index c0c027f..9f23bfe 100644
--- a/dlls/shell32/shlview.c
+++ b/dlls/shell32/shlview.c
@@ -1579,7 +1579,7 @@ static LRESULT ShellView_OnNotify(IShellViewImpl * This, UINT CtlID, LPNMHDR lpn
@@ -1577,7 +1577,7 @@ static LRESULT ShellView_OnNotify(IShellViewImpl * This, UINT CtlID, LPNMHDR lpn
}
/* perform the item deletion */
@@ -135,10 +149,10 @@ index b763468..1770e6f 100644
/* free pidl array memory */
diff --git a/dlls/shell32/shlview_cmenu.c b/dlls/shell32/shlview_cmenu.c
index d972922..494d95b 100644
index 0daa5ef..0d380a8 100644
--- a/dlls/shell32/shlview_cmenu.c
+++ b/dlls/shell32/shlview_cmenu.c
@@ -275,7 +275,7 @@ static void DoDelete(ContextMenu *This)
@@ -294,7 +294,7 @@ static void DoDelete(ContextMenu *This)
IShellFolder_QueryInterface(This->parent, &IID_ISFHelper, (void**)&helper);
if (helper)
{
@@ -148,5 +162,5 @@ index d972922..494d95b 100644
}
}
--
2.7.1
2.7.4