Commit Graph

3893 Commits

Author SHA1 Message Date
Fabian Maurer 1690165958 shell32: Refactor to keep style consistent.
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-03 22:00:20 +02:00
Fabian Maurer d98646f915 shell32: Prevent user after free in error case (Coverity).
Otherwise when hr is not SUCCEEDED we use array and free it again.

Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-03 22:00:06 +02:00
Jinoh Kang 0ec8a1a456 shell32: Add stub for IShellItemImageFactory.
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-28 11:53:12 +02:00
Jinoh Kang b1c26c454a shell32/tests: Add tests for IShellItemImageFactory.
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-28 11:53:06 +02:00
Nikolay Sivov 2b4b10be9a include: Add IParentAndItem definition.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-28 11:35:31 +02:00
Drew Ronneberg 89f67708d2 shell32: Remove obsolete -D_SHELL32_ from Makefile.in.
Signed-off-by: Drew Ronneberg <drew_ronneberg@yahoo.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-26 16:02:20 +02:00
Zhiyi Zhang 765d4c1e77 shell32: Activate context at ID 123 before loading control panel applets.
This is required to enable common control v6 when running control panel applets using
"rundll32.exe shell32.dll,Control_RunDLL".

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-13 18:15:48 +02:00
Alex Henrie 68c3ac7680 shell32: Fix sizeof argument in DoPaste (Coverity).
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-07 22:44:39 +02:00
Nikolay Sivov 9140c67307 shell32/tests: Use CRT memory allocation functions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-05 17:56:55 +02:00
Eric Pouech e62dd2a5b6 shell32: Always allocate a whole ITEMIDLIST structure.
Partially allocating a structure generates -Warray-bounds warnings
with GCC11. In this specific case, given the rounding in memory
allocators, would even not increase the effective allocated size.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-28 18:23:57 +02:00
Zebediah Figura b6ad9e57a9 shell32: Use COM wrappers for IShellPropSheetExt and IShellExtInit.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-28 10:11:40 +02:00
Eric Pouech 4ad1bab464 shell32/tests: Enable compilation with long types.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-07 20:53:12 +01:00
Eric Pouech 87c9a0dd08 shell32/tests: Use correct integral type.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-07 20:53:12 +01:00
Eric Pouech 0fc80c7db1 shell32/tests: Don't outdent todo_wine*.
This prevents -Wmisleading-indentation warnings (Mingw GCC11).

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-21 18:55:22 +01:00
Eric Pouech 570e24a014 shell32: Enable compilation with long types.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-18 09:32:11 +01:00
Alex Henrie 4dcc7a5ae8 shell32/tests: Wait for window to close in check_window_exists.
This fixes a race condition where the directory is deleted before the
window closes, which causes an error dialog to appear.

Cutting the number of iterations per wait loop in half is necessary so
that doubling the number of wait loops does not result in a timeout when
new tests are added.

Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-09 18:37:33 +01:00
Zebediah Figura aade29db06 shell32/tests: Remove pointless redefinition of FOF_NORECURSION.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-04 09:49:00 +01:00
Zebediah Figura 3113c5412f shell32: Remove redundant definitions of undocumented shell functions.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-04 09:48:55 +01:00
Zebediah Figura 07b502e0a2 shlwapi: Use the public definition of shared shell memory allocation functions.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-04 09:48:48 +01:00
Zebediah Figura 2d6a314ecf shell32: Move StrRetToStrN*() helpers to shell32_main.h.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-03 10:47:53 +01:00
Zebediah Figura 295285620a shell32: Move explorer window messages definitions to shell32_main.h.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-03 10:47:47 +01:00
Zebediah Figura c2f25d25b6 shell32: Move SHCreateLinks() flags to shlfolder.c.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-03 10:47:41 +01:00
Zebediah Figura 6abfd74a8b shell32: Move RegisterShellHook() definitions to shellord.c.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-03 10:47:35 +01:00
Zebediah Figura e1aa671327 shell32: Move SHWaitForFileToOpen() flags to shellord.c.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-03 10:47:27 +01:00
Eric Pouech d183986adf shell32: Use correct integral type.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-02 13:46:34 +01:00
Zebediah Figura ebdd0c1c70 shell32: Move IShellFolderViewCB definitions to shlview.c.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-02 10:55:13 +01:00
Zebediah Figura 086ba9ea12 shell32: Move dialog definitions to dialog.c.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-02 10:55:13 +01:00
Zebediah Figura 6d7f9a9bee shell32: Do not redefine SHCNRF_* flags.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-02 10:55:13 +01:00
Zebediah Figura c7f58d2be3 shell32: Move PIDL definitions from undocshell.h to pidl.h.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-02 10:55:13 +01:00
Zebediah Figura ac987baee7 shell32: Move file menu definitions to shlmenu.c.
There's no need to document anything in a common header.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-02 10:55:13 +01:00
Eric Pouech bb1fc33570 include/msvcrt: Add attribute((format)) to printf and scanf -like APIs.
Fix a bunch of warnings generated by this patch and the migration of
GUID.Data1 to long in ae2693e2c4

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-31 18:38:55 +01:00
Fabian Maurer f94e3d183c shell32/tests: Avoid "misleading indentation" warnings.
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-31 18:38:54 +01:00
Alexandre Julliard f0cd33c69e include: Add support for defining Win32 types as 'long' where possible.
Add -DWINE_NO_LONG_TYPES to modules that still have compilation
warnings with long types.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 20:38:22 +01:00
Nikolay Sivov 1f5b3b9e84 shell32: Ignore KF_FLAG_NOT_PARENT_RELATIVE in SHGetKnownFolderPath().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-26 21:53:57 +01:00
Dmitry Timoshkov a6445025a3 shell32: Add support for IDragSourceHelper2 interface.
The program that I have here fails if IDragSourceHelper2::SetFlags() returns E_NOTIMPL.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-15 18:55:18 +01:00
Alex Henrie 4f5f15c206 shell32: Provide 4-bit icons that are actually limited to 16 colors.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-06 11:25:18 +01:00
Torge Matthies 3dbce69fd4 shell32: Fix getting file attributes from the file system in SHELL32_GetItemAttributes.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52017
Signed-off-by: Torge Matthies <openglfreak@googlemail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-11 21:07:37 +01:00
Zhiyi Zhang 681d2dfd9d shell32: Check This->sPathTarget before calling get_display_name().
Fix Excel 2010 crashing in get_display_name() when clicking the ribbon bar file tab.
The check was removed in 984f608.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-11 21:07:10 +01:00
Alexandre Julliard bc909b1bd5 shell32: Use the standard va_list instead of __ms_va_list.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-22 11:12:47 +02:00
Zhiyi Zhang 32584bb521 shell32: Pass size in bytes to RegLoadMUIStringW() and RegQueryValueExW().
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-19 11:29:25 +02:00
Alexandre Julliard 3c81449d16 makefiles: Allow including files with relative paths.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-23 13:54:26 +02:00
Alexandre Julliard 088a787a2c makefiles: Make -mno-cygwin the default.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-20 22:45:48 +02:00
Alexandre Julliard b215536852 shell32: Use wide char string literals.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-20 22:45:48 +02:00
Alexandre Julliard 332b90c006 shell32: Use designated initializers and wide char string literals in known folder table.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-20 22:45:48 +02:00
Alexandre Julliard ac241bf763 shell32: Check for macOS at runtime.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-17 20:24:05 +02:00
Alexandre Julliard 48d62fc623 shell32: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-17 20:24:05 +02:00
Alexandre Julliard d1e1efe0f6 shell32: Use the mount manager for initial shell folders creation.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-17 16:51:31 +02:00
Alexandre Julliard 5803b168ac shell32: Reimplement trash support using Win32 APIs.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-16 22:22:44 +02:00
Alexandre Julliard 0cdb12ae37 shell32: Add a helper to retrieve trash item data without copying it.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-16 17:17:30 +02:00
Alexandre Julliard d603b22a0c shell32: Load the XDG user dirs config file using Win32 APIs.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-16 10:58:12 +02:00