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
Gabriel Ivăncescu
17213acd17
shell32/tests: Add tests for ResetEnumerator.
...
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:42 +01:00
Gabriel Ivăncescu
7348ffd9bd
shell32/autocomplete: Implement ResetEnumerator.
...
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:38 +01:00
Gabriel Ivăncescu
d5e7655555
shell32/tests: Test the amount of enumerator resets for 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-05 19:12:12 +01:00
Gabriel Ivăncescu
9a41584c49
shell32/autocomplete: Reset the enumerator when the text is empty even when auto-suggest is disabled.
...
This is needed for auto-append only AutoComplete controls.
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-05 19:12:12 +01:00
Gabriel Ivăncescu
4f85424d58
shell32/autocomplete: Reset the enumerator when losing focus if the edit control is not visible anymore.
...
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-05 19:12:12 +01:00
Gabriel Ivăncescu
e1a7d6eeb1
shell32/autocomplete: Implement a cache and sort the enumerated strings for proper behavior.
...
Windows doesn't reset and re-enumerate it everytime autocompletion happens,
and it also sorts the strings. This matches it more closely and makes it
more useable on large lists as well.
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-05 19:12:12 +01:00
Gabriel Ivăncescu
3d9da1a691
shell32/autocomplete: Use a helper function to show the 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-10-30 14:05:49 +01:00
Gabriel Ivăncescu
ec3b39fa22
shell32/autocomplete: Fill and display the auto-suggest listbox in a separate 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-10-30 14:05:45 +01:00
Dmitry Timoshkov
ed24889dad
shell32: Add bitmap resources for ids 133 and 134.
...
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-24 16:58:45 +02:00
Gabriel Ivăncescu
eabed020c0
shell32/tests: Test when IACList::Expand gets called and with what string.
...
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-10-17 10:01:43 +02:00
Gabriel Ivăncescu
ef25589922
shell32/autocomplete: Use the optional IACList interface and IACList::Expand, if available.
...
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-10-17 10:01:32 +02:00
Alistair Leslie-Hughes
cce8398dea
shell32: Properly fail when a data object cannot be created.
...
Based on a patch by Mark Jansen.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-16 14:04:24 +02:00
Mark Jansen
f7d47b4951
shell32: Expand environment strings in ShellExecute.
...
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-16 14:04:22 +02:00
Gabriel Ivăncescu
d3830fbd87
shell32/autocomplete: Implement ACO_USETAB 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-10-15 13:53:21 +02:00
Gabriel Ivăncescu
51c5fb7817
shell32/autocomplete: Hide the AutoComplete listbox when auto-suggest is turned off.
...
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-10-15 13:52:54 +02:00
Gabriel Ivăncescu
5aa7dbf4d8
shell32/autocomplete: Reset the contents of the AutoComplete listbox when hiding it.
...
There's no point to have it lingering around, since it's always recreated
before being shown again.
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-10-15 13:52:49 +02:00
Gabriel Ivăncescu
5d5e84a0d8
shell32/autocomplete: Hide the auto-suggest listbox when ESC is pressed.
...
When the listbox is visible, ESC should hide it. Only when it's not visible
should it be forwarded to the edit control. This matches Windows behavior.
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-10-15 13:52:42 +02:00