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
Gabriel Ivăncescu
b3945207db
shell32/autocomplete: Fix handling of Return key when an auto-suggestion item is selected.
...
When selecting an item from the AutoComplete's listbox, the Return key
should act the same as a left click on it (place the text, select it,
and hide 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-15 13:52:38 +02:00
Nikolay Sivov
c0a1eff706
shell32/shelllink: Fix NULL path handling in SetIconLocation().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-02 03:04:42 -07:00
Gabriel Ivăncescu
e3d57fe551
shell32/autocomplete: Implement PageDown and PageUp for the auto-suggest 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-09-27 12:56:20 +02:00
Gabriel Ivăncescu
3f31afafc3
shell32/autocomplete: Don't auto-append unless the caret is at the end.
...
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-09-27 12:56:10 +02:00
Gabriel Ivăncescu
d8de5fe47d
shell32/autocomplete: Use the same font for the AutoComplete listbox as 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-09-27 12:56:05 +02:00
Gabriel Ivăncescu
75ccf7537c
shell32/autocomplete: Use 0 instead of CW_USEDEFAULT.
...
Clean the CreateWindowEx code of CW_USEDEFAULT since it's not valid for
a child window and ends up being 0 anyway. Even more, it's useless as the
actual size is given when the window is shown.
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-09-26 16:51:11 +02:00
Gabriel Ivăncescu
aaf0fb5292
shell32/autocomplete: Remove flicker while redrawing the AutoComplete 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-09-26 16:51:01 +02:00
Gabriel Ivăncescu
ea5db7dd12
shell32/tests: Test hijacking the edit control's procedure after AutoComplete.
...
Windows' AutoComplete seems to bypass hijacking in some cases. However,
WM_GETTEXT seems to be able to get hijacked.
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-09-24 22:41:30 +02:00
Gabriel Ivăncescu
38306f8f56
shell32/autocomplete: Pass hwnd for consistency with the other calls.
...
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-09-24 22:41:30 +02:00