From 905a2b141b828cc43ffc191c1d13d9ff3ce36c71 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Wed, 21 Feb 2024 13:19:40 +1100 Subject: [PATCH] Rebase against 340a4b05b50fce02215213c21993fdf793e9d519. --- ...port-for-progress-callback-in-CopyFi.patch | 24 +++++++++---------- patches/kernel32-CopyFileEx/definition | 1 + patches/shell32-ACE_Viewer/definition | 1 + patches/shell32-Progress_Dialog/definition | 1 + staging/upstream-commit | 2 +- 5 files changed, 16 insertions(+), 13 deletions(-) diff --git a/patches/kernel32-CopyFileEx/0001-kernel32-Add-support-for-progress-callback-in-CopyFi.patch b/patches/kernel32-CopyFileEx/0001-kernel32-Add-support-for-progress-callback-in-CopyFi.patch index 1052e0b7..63e06455 100644 --- a/patches/kernel32-CopyFileEx/0001-kernel32-Add-support-for-progress-callback-in-CopyFi.patch +++ b/patches/kernel32-CopyFileEx/0001-kernel32-Add-support-for-progress-callback-in-CopyFi.patch @@ -1,4 +1,4 @@ -From 2b6ee689166a59bf023b59cd9c1dd8b0b661a89e Mon Sep 17 00:00:00 2001 +From 5e3315735a72bedc1fc45feee59018a3900338e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Thu, 26 Feb 2015 06:41:26 +0100 Subject: [PATCH] kernelbase: Add support for progress callback in CopyFileEx. @@ -37,11 +37,11 @@ index 02625140702..251010eb5d8 100644 retok = CopyFileExA(source, NULL, copy_progress_cb, hfile, NULL, 0); diff --git a/dlls/kernelbase/file.c b/dlls/kernelbase/file.c -index cef861492e0..6f6343f6eaf 100644 +index b6f8208ac9e..32a672fc9d9 100644 --- a/dlls/kernelbase/file.c +++ b/dlls/kernelbase/file.c -@@ -496,11 +496,16 @@ BOOL WINAPI CopyFileExW( const WCHAR *source, const WCHAR *dest, LPPROGRESS_ROUT - { +@@ -499,11 +499,16 @@ static BOOL copy_file( const WCHAR *source, const WCHAR *dest, COPYFILE2_EXTENDE + static const int buffer_size = 65536; HANDLE h1, h2; - FILE_BASIC_INFORMATION info; @@ -56,9 +56,9 @@ index cef861492e0..6f6343f6eaf 100644 + DWORD cbret; + DWORD source_access = GENERIC_READ; - if (!source || !dest) - { -@@ -522,7 +527,10 @@ BOOL WINAPI CopyFileExW( const WCHAR *source, const WCHAR *dest, LPPROGRESS_ROUT + if (cancel_ptr) + FIXME("pfCancel is not supported\n"); +@@ -530,7 +535,10 @@ static BOOL copy_file( const WCHAR *source, const WCHAR *dest, COPYFILE2_EXTENDE if (flags & COPY_FILE_OPEN_SOURCE_FOR_WRITE) FIXME("COPY_FILE_OPEN_SOURCE_FOR_WRITE is not supported\n"); @@ -70,7 +70,7 @@ index cef861492e0..6f6343f6eaf 100644 NULL, OPEN_EXISTING, 0, 0 )) == INVALID_HANDLE_VALUE) { WARN("Unable to open source %s\n", debugstr_w(source)); -@@ -530,7 +538,7 @@ BOOL WINAPI CopyFileExW( const WCHAR *source, const WCHAR *dest, LPPROGRESS_ROUT +@@ -538,7 +546,7 @@ static BOOL copy_file( const WCHAR *source, const WCHAR *dest, COPYFILE2_EXTENDE return FALSE; } @@ -79,7 +79,7 @@ index cef861492e0..6f6343f6eaf 100644 { WARN("GetFileInformationByHandle returned error for %s\n", debugstr_w(source)); HeapFree( GetProcessHeap(), 0, buffer ); -@@ -556,7 +564,11 @@ BOOL WINAPI CopyFileExW( const WCHAR *source, const WCHAR *dest, LPPROGRESS_ROUT +@@ -564,7 +572,11 @@ static BOOL copy_file( const WCHAR *source, const WCHAR *dest, COPYFILE2_EXTENDE } } @@ -92,7 +92,7 @@ index cef861492e0..6f6343f6eaf 100644 (flags & COPY_FILE_FAIL_IF_EXISTS) ? CREATE_NEW : CREATE_ALWAYS, info.FileAttributes, h1 )) == INVALID_HANDLE_VALUE) { -@@ -566,6 +578,29 @@ BOOL WINAPI CopyFileExW( const WCHAR *source, const WCHAR *dest, LPPROGRESS_ROUT +@@ -574,6 +586,29 @@ static BOOL copy_file( const WCHAR *source, const WCHAR *dest, COPYFILE2_EXTENDE return FALSE; } @@ -122,7 +122,7 @@ index cef861492e0..6f6343f6eaf 100644 while (ReadFile( h1, buffer, buffer_size, &count, NULL ) && count) { char *p = buffer; -@@ -575,13 +610,38 @@ BOOL WINAPI CopyFileExW( const WCHAR *source, const WCHAR *dest, LPPROGRESS_ROUT +@@ -583,13 +618,38 @@ static BOOL copy_file( const WCHAR *source, const WCHAR *dest, COPYFILE2_EXTENDE if (!WriteFile( h2, p, count, &res, NULL ) || !res) goto done; p += res; count -= res; @@ -149,7 +149,7 @@ index cef861492e0..6f6343f6eaf 100644 + } } } - ret = TRUE; + ret = TRUE; done: /* Maintain the timestamp of source file to destination file and read-only attribute */ - info.FileAttributes &= FILE_ATTRIBUTE_READONLY; diff --git a/patches/kernel32-CopyFileEx/definition b/patches/kernel32-CopyFileEx/definition index 0d53c43d..2fa3df37 100644 --- a/patches/kernel32-CopyFileEx/definition +++ b/patches/kernel32-CopyFileEx/definition @@ -1,2 +1,3 @@ Fixes: [22692] Add support for CopyFileEx progress callback Fixes: [22690] Allow to cancel a file operation via progress callback +Disabled: True diff --git a/patches/shell32-ACE_Viewer/definition b/patches/shell32-ACE_Viewer/definition index 04a44434..9c0290e2 100644 --- a/patches/shell32-ACE_Viewer/definition +++ b/patches/shell32-ACE_Viewer/definition @@ -1,2 +1,3 @@ Fixes: Implement a basic security property tab Depends: shell32-Progress_Dialog +Disabled: True diff --git a/patches/shell32-Progress_Dialog/definition b/patches/shell32-Progress_Dialog/definition index c0dfa7ec..b30ab4f5 100644 --- a/patches/shell32-Progress_Dialog/definition +++ b/patches/shell32-Progress_Dialog/definition @@ -1,3 +1,4 @@ Fixes: Support for shell32 file operation progress dialog Depends: kernel32-CopyFileEx Depends: shell32-SHFileOperation_Move +Disabled: True diff --git a/staging/upstream-commit b/staging/upstream-commit index 9650be2d..b4a73006 100644 --- a/staging/upstream-commit +++ b/staging/upstream-commit @@ -1 +1 @@ -1b0d8428dfc13b0fa5ea7d576dfef7aaf8a8c927 +340a4b05b50fce02215213c21993fdf793e9d519