Commit Graph

3704 Commits

Author SHA1 Message Date
Sven Baars e6ce281d30 shell32: Fix a use after free (Coverity).
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-29 16:21:24 +02:00
John Thomson 9b6d198a3c shell32: Do not fail in SHCreateDirectoryExW for ERROR_ALREADY_EXISTS.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47023
Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-24 22:48:08 +02:00
Alexandre Julliard d4ef782db7 makefiles: Build all tests with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-24 12:10:51 +02:00
Alexandre Julliard 06c7d3a945 shell32: Fix compiler warnings for the Windows build.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-15 21:33:07 +02:00
Alexandre Julliard 1459a0105d makefiles: Default to building test modules as PE.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-09 15:45:59 +02:00
Piotr Caban 232255f3c5 shell32: Don't use strcasecmp.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-04 17:24:13 +02:00
Gabriel Ivăncescu e95dc7e03e shell32/autocomplete: Use LBS_NODATA for the dropdown listbox.
This eliminates the overhead of populating the listbox completely and
simplifies the code.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-03 19:28:19 +02:00
Gabriel Ivăncescu 0cd95038af shell32/autocomplete: Use an owner-drawn listbox for the dropdown.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-03 19:28:19 +02:00
Gabriel Ivăncescu 6f3beaee37 shell32/autocomplete: Encapsulate the listbox into an owner window.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-03 19:28:19 +02:00
Gabriel Ivăncescu 3a3424280f shell32/autocomplete: Make the dropdown listbox a proper pop-up window.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-03 19:28:19 +02:00
Gabriel Ivăncescu df1c7c8aa7 shell32/autocomplete: Forward to the original listbox proc outside the switch.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-03 19:28:19 +02:00
Alexandre Julliard b80e7de8e0 shell32: Load wine_get_build_id() dynamically.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-27 11:28:02 +01:00
Michael Stefaniuc 9583bd004b shell32: Avoid using the comma operator.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-26 21:41:32 +01:00
Fabian Maurer dbbfa48153 shell32: In SHRestricted add missing slash.
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-19 19:11:27 +01:00
Michael Stefaniuc c7e6fafa4c shell32: Remove unused return variables (coccinelle).
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-12 21:36:03 +01:00
Michael Stefaniuc 3908142028 shell32: Remove redundant not-NULL check (coccinellery).
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-09 02:10:11 +01:00
Michael Stefaniuc fd853c5e78 shell32: Remove superfluous continue (coccinellery).
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-20 23:12:25 +01:00
Sven Baars 48e6f8f99d shell32: Don't return a path from SHGetKnownFolderPath when it can not be created.
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-06 19:57:27 +01:00
Michael Stefaniuc 84459ba94b shell32: Avoid FALSE : TRUE conditional expressions.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-31 21:38:51 +01:00
Nikolay Sivov 1a98e65386 shell32: Remove duplicated assignment (Coverity).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-28 10:26:02 +01:00
Gabriel Ivăncescu de837ca7eb shell32/tests: Test GetDisplayNameOf for special folders with both SHGDN_FORPARSING and SHGDN_FORADDRESSBAR.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-24 20:10:24 +01:00
Gabriel Ivăncescu 889fce0887 shell32/shfldr_mycomp: Use friendly name instead of GUID when SHGDN_FORADDRESSBAR is set.
On Windows, SHGDN_FORPARSING returns the GUID name of a special folder,
but only when SHGDN_FORADDRESSBAR is not set.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-24 20:10:19 +01:00
Gabriel Ivăncescu ba31ce27fd shell32/shfldr_desktop: Use friendly name instead of GUID when SHGDN_FORADDRESSBAR is set.
On Windows, SHGDN_FORPARSING returns the GUID name of a special folder,
but only when SHGDN_FORADDRESSBAR is not set.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-24 20:10:16 +01:00
Gabriel Ivăncescu 2007e17d77 shell32/autocomplete: Always expand if the enumerator was reset.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-24 17:33:38 +01:00
Gabriel Ivăncescu b9224c2184 shell32/autocomplete: Don't autoappend on Paste if ACO_AUTOAPPEND is off.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-24 17:33:38 +01:00
Alex Henrie 8bace09cb8 shell32: Rename SHELL32_714 to PathIsTemporaryW.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-23 17:41:02 +01:00
Sven Baars cfc7bd7460 shell32/tests: Fix some memory leaks (Valgrind).
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-14 15:32:23 +01:00
Sven Baars 5b87378bbd shell32/tests: Fix a typo.
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-14 15:32:23 +01:00
Alexandre Julliard 2d6de2d129 shell32/tests: Wait a bit longer for the explorer window to be created.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-10 12:58:48 -06:00
Huw Davies 9d42c40aa3 shell32/tests: Move the cursor away from the dropdown listbox.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46275
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-04 12:39:45 +01:00
Nikolay Sivov 9e99382bc3 shell32/tests: Fix some leaks (Valgrind).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-17 10:08:03 +01:00
Francois Gouget 76bc23d8c6 shell32: Avoid an unneeded strlenW() call.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-10 15:51:27 +01:00
Michael Stefaniuc db850cd758 shell32: Use SetRect() instead of open coding it.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-10 15:51:04 +01:00
Michael Stefaniuc 0cc6233e20 shell32/tests: Remove redundant NULL check before CoTaskMemFree().
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-03 22:27:05 +01:00
Gabriel Ivăncescu 4e633f9244 shell32/iconcache: Prevent the imagelists from going out of sync when loading an icon.
When populating the imagelists cache with icons of different sizes, it
can happen that only some icon sizes actually succeed the extraction,
with others failing with a NULL handle. This is especially true with some
broken "executable packers" where for example, a 32x32 icon loads okay,
but a 16x16 fails. Even when PrivateExtractIconsW succeeds, the returned
handle can still be NULL, leading to the ImageLists becoming out of sync.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45696
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-29 17:48:33 +01:00
Andrey Gusev 169c3879b9 shell32: Fix a typo in comment.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-29 15:55:10 +01:00
Gabriel Ivăncescu da2e51b3a6 shell32/autocomplete: Check the edit control in ResetEnumerator instead of whether the object is initialized.
An autocomplete object can be destroyed and detached from the edit control and
still survive, if there are still references to it (even though it's useless).

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-29 10:04:28 +01:00
Gabriel Ivăncescu 8a8bab3ac8 shell32/tests: Add tests for ACO_FILTERPREFIXES.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-29 10:04:25 +01:00
Gabriel Ivăncescu 77b23a5e01 shell32/autocomplete: Implement ACO_FILTERPREFIXES.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-29 10:04:21 +01:00
Gabriel Ivăncescu d288d4dbd1 shell32/autocomplete: Sort the enumerated strings using a helper function.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-29 10:04:14 +01:00
Nikolay Sivov 444b1cb34e shell32: Forward process reference calls to shcore.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-27 19:32:15 +01:00
Nikolay Sivov 74042733b1 shell32: Forward some functions to shcore.dll.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-26 12:25:42 +01:00
Zebediah Figura a06d7de892 shell32/tests: Remove some obsolete workarounds from test_ShellWindows().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-20 09:58:33 +01:00
Gabriel Ivăncescu 2c03e0c67d shell32/autocomplete: Move the auto-suggest listbox along with the edit control.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-19 22:42:41 +01:00
Gabriel Ivăncescu 7ac4c0ea8c shell32/autocomplete: Retrieve the count in show_listbox.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-19 22:42:40 +01:00
Michael Stefaniuc 640fe968cc shell32: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-15 23:12:57 +01:00
Gabriel Ivăncescu d715814e68 shell32/tests: Test WM_SETTEXT with AutoComplete.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-14 16:52:52 +01:00
Gabriel Ivăncescu 4cac7da8b5 shell32/autocomplete: Hide the listbox when the text is changed programmatically.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-14 16:52:48 +01:00
Gabriel Ivăncescu 4234e597ef shell32/autocomplete: Pass the mouse wheel to the auto-suggest listbox, if visible.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-08 10:03:59 +01:00
Gabriel Ivăncescu 1649680bf9 shell32/autocomplete: Implement ACO_NOPREFIXFILTERING option.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-08 10:03:51 +01:00