[PATCH] shell32: Choose return value for SHFileOperationA depending on windows version

Alistair Leslie-Hughes leslie_alistair at hotmail.com
Sun May 13 21:03:15 CDT 2018


Fixes: https://bugs.winehq.org/show_bug.cgi?id=37916

Based off patch by Michael Müller.

Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
---
 dlls/shell32/shlfileop.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/dlls/shell32/shlfileop.c b/dlls/shell32/shlfileop.c
index 4507b72..c7bd54d 100644
--- a/dlls/shell32/shlfileop.c
+++ b/dlls/shell32/shlfileop.c
@@ -882,6 +882,10 @@ int WINAPI SHFileOperationA(LPSHFILEOPSTRUCTA lpFileOp)
 	  if (ForFree)
 	  {
 	    retCode = SHFileOperationW(&nFileOp);
+	    /* Windows 95/98 returns S_OK for this case. */
+	    if (retCode == ERROR_ACCESS_DENIED && (GetVersion() & 0x80000000))
+	      retCode = S_OK;
+
 	    heap_free(ForFree); /* we cannot use wString, it was changed */
 	    break;
 	  }
-- 
1.9.1



More information about the wine-devel mailing list