Commit Graph

3859 Commits

Author SHA1 Message Date
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
Alexandre Julliard 984f608c28 shell32: Use the standard shell folder implementation for Unix folders.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-15 19:34:22 +02:00
Alexandre Julliard 336c37d5f7 shell32: Allow specifying the child folder CLSID in SHELL32_BindToChild().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-15 19:34:22 +02:00
Alexandre Julliard 23c3391172 shell32: Don't store the short file name in the PIDL.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 18:06:56 +02:00
Alexandre Julliard 1dcd1fe613 shell32: Validate the destination name in IShellFolder::SetNameOf.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 18:06:56 +02:00
Alexandre Julliard 0ecd807ea6 shell32: Fix the shell folder file attributes.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 18:06:56 +02:00
Alexandre Julliard 429154a97d shell32: Create the PIDLs even if IFileSystemBindData::GetFindData returns an error.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 18:06:56 +02:00
Alexandre Julliard ed5c882975 shell32: Merge the property bag implementation from the Unix shell folder.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-10 19:01:09 +02:00
Alexandre Julliard df9c67d196 shell32: Merge the drag & drop implementation from the Unix shell folder.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-10 18:52:37 +02:00
Alexandre Julliard aef981df62 shell32: Share more code between the various IShellFolder_GetDetailsOf implementations.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-10 18:50:19 +02:00
Alexandre Julliard 5321428f64 shell32: Don't put shell folders inside My Documents.
Put them all at the same level, like recent Windows versions do.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-06 13:54:34 +02:00
Alexandre Julliard bf811fdcaf shell32: Pass the destination Windows path to _SHCreateSymbolicLink().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-06 13:17:14 +02:00
Alexandre Julliard 0a71ea7381 shell32: Avoid some code duplication.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-06 13:12:45 +02:00
Francois Gouget c10d9d102c shell32: Fix a couple of ASCII / ANSI mixups in comments.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-01 17:07:48 +02:00
André Zwing 9323d33fa4 shell32: Add IApplicationDocumentLists stub.
Lets Cablabel S3 Lite 1.4.0.2 start, otherwise it shows a msgbox with the error and freezes.

Signed-off-by: André Zwing <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-23 22:14:19 +02:00
Alex Henrie adb4259aa9 shell32: Fix use of uninitialized variable in paste_pidls (Clang).
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-05 23:11:23 +02:00
Dmitry Timoshkov e947844a7e shell32: Implement SHBindToObject.
Based on SHBindToParent implementation.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-26 19:42:25 +02:00
Andrew Eikum c99a406b71 shell32: Fix unused knownfolder definition.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51425
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-08 21:13:17 +02:00
Francois Gouget 0e64e05600 shell32/tests: Fix the PathResolve() tests on Windows 8.1, early 10.
Some Windows 8.1 and Windows 10 1507 versions return PATH_NOT_FOUND
instead of FILE_NOT_FOUND.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-05 11:59:39 +02:00
Francois Gouget 865029ae3f shell32/tests: Use WineTest contexts to simplify shellpath.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-05 11:59:33 +02:00
Francois Gouget d6d46299dd shell32/test: Fix an ok() message.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-05 11:59:24 +02:00
Francois Gouget 8aaf9e6460 shell32/tests: Fix the known folder relative path check for multiple CD drives.
When there is more than one CD drive the extra drives typically get a
folder called "Burn1", etc.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-29 19:55:22 +02:00
Andrew Eikum 978e03ea94 shell32: Always create default known folder directories.
Some applications query for the default path, but this would fail on
older prefixes where the new default path was never created.

Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-17 20:02:29 +02:00
Paul Gofman 6b0b6a093f shell32: Don't specify the startup directory for CreateProcessW() in SHELL_ExecuteW().
Doing so fails process creation for relative current directory as the
directory already made current.

Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-16 23:23:49 +02:00
Haidong Yu 56976159ab shell32: Fix a memory leak.
Signed-off-by: Haidong Yu <yuhaidong@uniontech.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-09 23:38:44 +02:00
Haidong Yu 479b659463 shell32: Fix a memory leak.
Signed-off-by: Haidong Yu <yuhaidong@uniontech.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-07 21:24:08 +02:00
Andrew Eikum 96030ce738 shell32: Use correct environment substitution for FOLDERID_Public.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-01 21:25:17 +02:00
Andrew Eikum 73c08fb638 shell32/tests: Add tests to show relative known folder paths match SHGetKnownFolderPath.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-27 21:40:37 +02:00
Andrew Eikum 98d43c5dcf shell32: Calculate known folder paths from parent and relative path.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-27 21:40:37 +02:00
Andrew Eikum 4111801ab3 shell32: Use winvista+ AppData paths.
Katamari Damacy Reroll makes an assumption that the LocalAppData folder
is a sibling of the LocalAppDataLow folder.

Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-27 21:40:37 +02:00
Andrew Eikum 2a52efb7a3 shell32: Use stored registry path for known folder symlinks.
This allows us to keep the same symlinks for knownfolders after the
upcoming patches. A functional change is that, if a user or
application has redirected one of the known folders, we will now
attempt to create the symlink at the redirected path instead of the
default one.

Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-27 21:28:20 +02:00
Damjan Jovanovic 9bc7d41080 shell32: Use the paste_pidls() helper function for the CFSTR_SHELLIDLISTW format too.
Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-26 21:32:24 +02:00
Damjan Jovanovic 91b0340170 shell32: Support the CF_HDROP format too when pasting from the context menu.
Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-26 21:31:37 +02:00
Damjan Jovanovic 401de24b89 shell32: Fix a lock leak.
Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-26 21:31:22 +02:00
Andrew Eikum 2e6fea0d1c shell32: Avoid gcc 11 misleading-indentation warning.
dlls/shell32/classes.c:315:5: warning: this ‘else’ clause does not guard... [-Wmisleading-indentation]
    dlls/shell32/classes.c:318:9: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘else’

Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-20 21:48:57 +02:00