Commit Graph

3822 Commits

Author SHA1 Message Date
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
Damjan Jovanovic a3295e3831 shell32/tests: Fix test failures from ad412b11a7.
Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-05 10:18:50 +02:00
Damjan Jovanovic 19379007e5 shell32: Fix pasting from the shellview context menu.
Pasting from the shellview context menu is completely broken,
as the desktop folder's BindToObject() always fails since the CIDA
parent folder PIDL is an empty PIDL. The desktop shell folder
doesn't support the ISFHelper interface either. Rather bind to
each item's immediate parent, and copy each item individually.
Also try get error handling to work a little better.

Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-03 20:42:29 +02:00
Damjan Jovanovic 566454b9dc shell32: Implement some of the missing shellview IContextMenu command verbs.
Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-03 20:42:29 +02:00
Damjan Jovanovic ad412b11a7 shell32: Implement IID_IContextMenu in CreateViewObject() methods for shell folders that support it.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=39841
Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-03 20:42:29 +02:00
Alexandre Julliard 1331a8ea0f winecrt0: Determine the registration module handle directly in __wine_register_resources().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-30 22:59:50 +02:00
Alexandre Julliard bd6b53740c winecrt0: Add a default implementation for DllCanUnloadNow().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-30 22:59:50 +02:00
Damjan Jovanovic 2b6458b757 shell32: Use a smaller range of shellview menu IDs in our IContextMenu functions.
The shellview menu IDs are very large, eg. FCIDM_SHVIEW_OPEN is 0x7102,
while applications want menu IDs to fit into a small range, eg. 1-1000 for
Explorer++. This causes our IContextMenu_QueryContextMenu() functions to
leave out most menu options. We should rebase our shellview menu ids
by -0x7000 so they occupy a smaller range.

This gets both Explorer++ and Double Commander to show the correct
right-click menus.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=24893
Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-30 22:59:50 +02:00
Damjan Jovanovic 42ecb0ec15 shell32/tests: Test what Shell_MergeMenus() does with a negative adjustment.
Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-30 22:59:50 +02:00
Damjan Jovanovic 91a8b4819e shell32: The menu wIDs in hmenu were rebased by idCmdFirst.
Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-30 22:59:50 +02:00
Damjan Jovanovic 7af66935a0 shell32/tests: Add more tests for Shell_MergeMenus().
Show Shell_MergeMenus() really adds the offset instead of
changing IDs to start with it, and that it really honours
the maximum allowed value.

Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-30 22:59:50 +02:00
Zebediah Figura 9603fba894 include: Define _WINSOCKAPI_ in winsock2.h.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-27 18:55:24 +02:00
Jacek Caban 4e05e6d67e shell32/tests: Use nameless unions.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-24 20:46:24 +01:00
Jacek Caban b9a8437d52 shell32: Use nameless unions.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-24 20:46:23 +01:00
Jacek Caban b39b9eea39 include: Don't default to WINE_NO_NAMELESS_EXTENSION for Wine build.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-22 21:48:38 +01:00
Floris Renaud 96a62aa61d shell32: Resize Run program window.
Three lines of text will now fit in the window. More translations will fit.

Signed-off-by: Floris Renaud <jkfloris@dds.nl>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-01 16:10:27 +01:00
Jactry Zeng 4a1bd593f3 shell32: Implement IFileOperation stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48848
Signed-off-by: Jactry Zeng <jzeng@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-09 11:55:10 +01:00
Dmitry Timoshkov dbb1ed4895 shell32: IPersistFile::Save(NULL) should use previously stored file name.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-03 21:01:23 +01:00
Dmitry Timoshkov 7690a91a73 shell32: Return S_OK from IShellLink::SetFlags() stub.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-15 17:17:57 +01:00
Dmitry Timoshkov 11b797bb83 shell32/tests: Remove workarounds for shell32 < 5.0.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-23 22:07:50 +01:00
Dmitry Timoshkov d468dd2eb7 shell32/tests: Remove no longer used parameter.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-23 22:07:50 +01:00
Jacek Caban fcf545f449 winapi: Use __alignof__ on clang.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-16 15:30:07 +01:00
Alexandre Julliard 6ca76dc5e7 include: Remove some no longer used Unicode functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-02 15:38:25 +01:00
Alexandre Julliard 6624cabbb7 shell32: Silence buffer overflow compiler warnings.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-26 23:25:38 +01:00
Brendan Shanks ba8638e1a4 wine.inf: Add UrlAssociations for FTP/HTTP/HTTPS.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50094
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-25 21:39:18 +01:00
Sven Baars 2dac805244 shell32: Fix a leak on error path (Coverity).
Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-05 20:54:16 +02:00
Michael Stefaniuc 1f313b7f1f shell32: Remove superfluous cast to self.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-28 21:35:03 +02:00
Myah Caron 4c99e3ef34 shell32: Implement ShellLinkObject::get_Path.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49591
Signed-off-by: Myah Caron <qsniyg@protonmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-15 21:30:40 +02:00
Myah Caron 1c26b3dc75 shell32: Add ShellLinkObject stubs.
Signed-off-by: Myah Caron <qsniyg@protonmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-15 21:30:35 +02:00
Gijs Vermeulen 48038508f5 shell32: Free original_dos_name with correct function in TRASH_GetDetails() (Coverity).
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-18 21:41:51 +02:00
Serge Gautherie 743ed29af5 winapi_test: Update generated.c files.
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-14 22:04:03 +02:00
Nikolay Sivov 9d57c5f56c shell32: Silence Destination List QueryInterface() failure message.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-13 14:24:05 +02:00
Serge Gautherie 99c0ab2ea1 winapi_test: Restore horizontal alignment of macro defines.
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-10 21:26:15 +02:00
Serge Gautherie c26d7470cc winapi_test: Horizontally align TEST_TYPE_SIGNED() parameter.
Signed-off-by: Serge Gautherie <reactos-git_serge_171003@gautherie.fr>
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-10 21:25:56 +02:00
Paul Gofman e2f456cfe5 shell32: Only consider copy operation multidest if the number of dst files is greater than one.
Fixes crash on start in Worms World Party Remastered.

Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-23 19:31:18 +02:00
Alistair Leslie-Hughes 839f468dce shell32: Correct if condition.
Spotted by Rafał Mikrut.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49203
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-20 10:48:23 +02:00
Zebediah Figura 7b56edf9a4 explorer: Implement IShellWindows::FindWindowSW() for non-desktop windows.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-18 12:10:49 +02:00
Zebediah Figura 54e1559a25 explorer: Implement IShellWindows::OnNavigate().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-18 12:10:47 +02:00