mirror of
https://github.com/reactos/reactos.git
synced 2025-08-06 10:22:59 +00:00
[WINESYNC] setupapi: Support full path enumerator in SetupDiGetClassDevs.
Based on a patch by Michael Müller. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=35345 Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org> wine commit id d5e24897e2cd61a5af71a317c1797757acf1b794 by Zhiyi Zhang <zzhang@codeweavers.com> [WINESYNC] setupapi/tests: A spelling fix in an ok() message. Signed-off-by: Francois Gouget <fgouget@free.fr> Signed-off-by: Alexandre Julliard <julliard@winehq.org> wine commit id 21db058d14ac6fb769a42bdeea3dadfa4fd0e8bf by Francois Gouget <fgouget@free.fr> [WINESYNC] setupapi/tests: Fix a crash in the need_media tests. Signed-off-by: Sven Baars <sven.wine@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org> wine commit id 448f4cc9a25c6f994395978df0dfd7c7487b5dbb by Sven Baars <sven.wine@gmail.com> [WINESYNC] setupapi: Fix a path leak (Valgrind). Signed-off-by: Sven Baars <sven.wine@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org> wine commit id 5f0d53e20903b009ee47a238a642f2e95f27d712 by Sven Baars <sven.wine@gmail.com> [WINESYNC] setupapi: Fix an uninitialized variable warning (Valgrind). Signed-off-by: Sven Baars <sven.wine@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org> wine commit id ecbd2dd34b4239318162242caaa197ae4f0911f5 by Sven Baars <sven.wine@gmail.com> [WINESYNC] setupapi/tests: Add some tests for SPFILENOTIFY_STARTCOPY. Signed-off-by: Zebediah Figura <z.figura12@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org> wine commit id ab3cc3c11a78cbaec7173a4576fda93ecf70ae90 by Zebediah Figura <z.figura12@gmail.com> [WINESYNC] setupapi: Fix handling of FILEOP_SKIP from the SPFILENOTIFY_STARTCOPY callback. Fixes a regression introduced by 3e5c9798a80641e0e39e95e4467c60405b22b062. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47436 Signed-off-by: Zebediah Figura <z.figura12@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org> wine commit id a431b4b54a36b49821cae363d7ea8733eefe62ef by Zebediah Figura <z.figura12@gmail.com> [WINESYNC] setupapi/tests: Remove win_9x checks. Signed-off-by: Vijay Kiran Kamuju <infyquest@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org> wine commit id c59e9d302b79527f4a99be71d1346f56737dc3f3 by Vijay Kiran Kamuju <infyquest@gmail.com> [WINESYNC] setupapi: Define .inf section names for ARM platforms. Signed-off-by: Alexandre Julliard <julliard@winehq.org> wine commit id b2b3975f46c203a129a946128ccd018dd7ed6e46 by Alexandre Julliard <julliard@winehq.org> [WINESYNC] setupapi/tests: Fix timeout on win10 1809+. Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org> wine commit id 177d6d7f8981b9e036437d78023b76232dcadb3d by Zhiyi Zhang <zzhang@codeweavers.com> [WINESYNC] setupapi/tests: Add default device registry property tests. Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org> wine commit id 4fe3d7e220225ddd57ef0acd9142ef8437cdb9ca by Zhiyi Zhang <zzhang@codeweavers.com> [WINESYNC] setupapi: Set device SPDRP_CLASS registry property in create_device(). Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org> wine commit id 288a6625ad0177e258a0db1da166d292ff420b1e by Zhiyi Zhang <zzhang@codeweavers.com> [WINESYNC] setupapi: Add SetupGetInfDriverStoreLocationW stub. Signed-off-by: Derek Lesho <dlesho@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org> wine commit id f1b94dc16c35a5c477b6df8aa94c6d3537642c77 by Derek Lesho <dlesho@codeweavers.com>
This commit is contained in:
parent
283648f6c5
commit
f554e58231
8 changed files with 331 additions and 105 deletions
|
@ -196,6 +196,7 @@ UINT CALLBACK QUEUE_callback_WtoA( void *context, UINT notification,
|
|||
switch(notification)
|
||||
{
|
||||
case SPFILENOTIFY_COPYERROR:
|
||||
buffer[0] = 0;
|
||||
param2 = (UINT_PTR)buffer;
|
||||
/* fall through */
|
||||
case SPFILENOTIFY_STARTDELETE:
|
||||
|
@ -1661,13 +1662,20 @@ BOOL WINAPI SetupCommitFileQueueW( HWND owner, HSPFILEQ handle, PSP_FILE_CALLBAC
|
|||
* actually isn't in a subdirectory, but keep track of what it
|
||||
* was, and then later strip it from the root path that we
|
||||
* ultimately resolve the source disk to. */
|
||||
WCHAR *src_path = op->src_path;
|
||||
WCHAR src_path[MAX_PATH];
|
||||
size_t path_len = 0;
|
||||
|
||||
op->src_path = NULL;
|
||||
if (src_path)
|
||||
src_path[0] = 0;
|
||||
if (op->src_path)
|
||||
{
|
||||
lstrcpyW(src_path, op->src_path);
|
||||
path_len = lstrlenW(src_path);
|
||||
|
||||
lstrcatW(op->media->root, backslashW);
|
||||
lstrcatW(op->media->root, src_path);
|
||||
lstrcatW(op->media->root, op->src_path);
|
||||
|
||||
heap_free(op->src_path);
|
||||
op->src_path = NULL;
|
||||
}
|
||||
|
||||
for (;;)
|
||||
|
@ -1703,12 +1711,11 @@ BOOL WINAPI SetupCommitFileQueueW( HWND owner, HSPFILEQ handle, PSP_FILE_CALLBAC
|
|||
|
||||
if (queue_copy_file( paths.Source, paths.Target, op, handler, context ))
|
||||
{
|
||||
if (src_path && !op->media->cabinet)
|
||||
if (path_len > 0 && !op->media->cabinet)
|
||||
{
|
||||
size_t root_len = lstrlenW(op->media->root), path_len = lstrlenW(src_path);
|
||||
size_t root_len = lstrlenW(op->media->root);
|
||||
if (path_len <= root_len && !wcsnicmp(op->media->root + root_len - path_len, src_path, path_len))
|
||||
op->media->root[root_len - path_len - 1] = 0;
|
||||
heap_free( src_path );
|
||||
}
|
||||
op->media->resolved = TRUE;
|
||||
#ifdef __REACTOS__
|
||||
|
@ -1732,7 +1739,7 @@ BOOL WINAPI SetupCommitFileQueueW( HWND owner, HSPFILEQ handle, PSP_FILE_CALLBAC
|
|||
if (op_result == FILEOP_ABORT)
|
||||
goto done;
|
||||
else if (op_result == FILEOP_SKIP)
|
||||
break;
|
||||
continue;
|
||||
else if (op_result != FILEOP_DOIT)
|
||||
FIXME("Unhandled return value %#x.\n", op_result);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue