Rebase against 340a4b05b50fce02215213c21993fdf793e9d519.

This commit is contained in:
Alistair Leslie-Hughes 2024-02-21 13:19:40 +11:00
parent 96503e8822
commit 905a2b141b
5 changed files with 16 additions and 13 deletions

View File

@ -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?= <michael@fds-team.de>
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;

View File

@ -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

View File

@ -1,2 +1,3 @@
Fixes: Implement a basic security property tab
Depends: shell32-Progress_Dialog
Disabled: True

View File

@ -1,3 +1,4 @@
Fixes: Support for shell32 file operation progress dialog
Depends: kernel32-CopyFileEx
Depends: shell32-SHFileOperation_Move
Disabled: True

View File

@ -1 +1 @@
1b0d8428dfc13b0fa5ea7d576dfef7aaf8a8c927
340a4b05b50fce02215213c21993fdf793e9d519