110 Commits

Author SHA1 Message Date
Gabriel Ivăncescu
a435fbc646 shell32/autocomplete: Reduce the strlen calls because they are redundant.
We can retrieve the length of the string from the SendMessage calls already.

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-11 14:10:18 +02:00
Gabriel Ivăncescu
97006eb661 shell32/autocomplete: Handle heap_alloc failure.
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-11 14:09:58 +02:00
Gabriel Ivăncescu
74c0c0574e shell32/autocomplete: Fix a vulnerability by avoiding the use of snprintf.
The quickComplete format can have more than one % argument, or stuff like
%*.* or %1234s, which can be exploited since the format string can be read
from the registry, so handle it manually instead of using sprintf.

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-11 14:09:52 +02:00
Gabriel Ivăncescu
0c049b6791 shell32/autocomplete: Fix handling of Backspace and Delete.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=22255
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-07 13:03:18 +02:00
Gabriel Ivăncescu
2964b975ac shell32/autocomplete: Revamp pwzsRegKeyPath handling so it can deal with arbitrary sizes and make it more robust.
Handle heap_alloc failure, reg strings without a \ character at all,
try harder to find the reg path (if only value fails the lookup), and
read the registry value with any size.

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-07 13:03:09 +02:00
Gabriel Ivăncescu
9c2217216c shell32/autocomplete: Don't crash when there's another AutoComplete object on the same edit control.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=22333
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-30 19:55:24 +02:00
Nikolay Sivov
612a194133 shell32: Use ARRAY_SIZE macro.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-19 12:35:12 +01:00
Nikolay Sivov
e3b200bd8a shell32: Use global memory allocation helpers.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-22 14:16:33 +01:00
Nikolay Sivov
f74e1b1fb1 shell32: Fix string leak.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-24 10:02:13 +02:00
Nikolay Sivov
0de2514f39 shell32: Consistently return interface pointer instead of implementation pointer. 2013-09-03 20:02:55 +02:00
Nikolay Sivov
c91e9db0cc shell32: Use string comparison as autocompletion check. 2012-02-06 10:19:32 -06:00
Detlef Riekenberg
cbfb15e8eb shell32: Reorder functions to avoid forward declarations. 2012-01-13 18:17:34 +01:00
Nikolay Sivov
46a2ec0209 shell32/autocomplete: Remove redundant memory initialization. 2011-07-25 13:41:21 +02:00
Nikolay Sivov
5354b974a1 shell32/autocomplete: Really append suggested part instead of replacing whole string. 2011-07-25 13:41:15 +02:00
Nikolay Sivov
2210e9bbf0 shell32/autocomplete: Autocompletion should be case insensitive for string comparison. 2011-07-25 13:41:06 +02:00
Michael Stefaniuc
cd3cdf6226 shell32: COM cleanup in autocomplete.c. 2011-05-30 17:22:07 +02:00
Andrew Nguyen
fff50be3e8 shell32: Keep at least one reference to the autocompletion object at initialization until the edit window is destroyed.
Spotted with Valgrind.
2011-02-01 12:38:48 +01:00
Andrew Nguyen
4145fe0ec2 shell32: Store the autocompletion object pointer in a window property rather than in the window user data. 2011-02-01 12:10:40 +01:00
Andrew Nguyen
4dc304489f shell32: Improve initialization state and parameter handling in IAutoComplete::Init. 2011-02-01 12:10:35 +01:00
Andrew Nguyen
7a6c0d2f46 shell32: Fix initial reference count for a new IAutoComplete instance. 2011-01-21 13:39:12 +01:00
Alexandre Julliard
1346740a57 shell32: Don't use the instance of the owner window for the autocomplete listbox. 2009-12-28 12:27:17 +01:00
Alexandre Julliard
6562b25b96 shell32: Remove unnecessary linefeeds in traces. 2009-05-21 17:17:26 +02:00
Michael Stefaniuc
6c54ad3dba shell32: Remove superfluous pointer casts. 2009-02-19 12:52:02 +01:00
Michael Stefaniuc
8324ed6cc9 shell32: Remove superfluous pointer casts from macros. 2009-02-19 12:51:57 +01:00
Jan de Mooij
f1bf550c63 shell32/autocomplete: Fix handling of WM_KILLFOCUS messages. 2008-12-03 09:46:59 +01:00
Michael Stefaniuc
b7de266082 shell32: Remove superfluous casts; mostly of void pointers. 2008-11-06 11:09:51 +01:00
Michael Stefaniuc
cc41ac4c16 shell32: Do not cast NULL. 2008-11-03 13:41:44 +01:00
Alexandre Julliard
2f2ec7ca89 shell32: Convert source files to utf-8. 2008-10-18 19:20:53 +02:00
Michael Stefaniuc
f6baf97629 shell32: Use FAILED instead of !SUCCEEDED. 2008-10-08 13:41:52 +02:00
Mikołaj Zalewski
a72fbdd023 shell32: autocomplete: Remove some obsolete FIXMEs, update some comments. 2008-09-18 12:53:25 +02:00
Mikołaj Zalewski
d9190052a2 shell32: autocomplete: Implement GetDropDownStatus. 2008-09-18 12:53:18 +02:00
Mikołaj Zalewski
ba6ddf28b4 shell32: autocomplete: Make SetOptions handle setting the ACO_AUTOSUGGEST after Init, fix ACO_AUTOSUGGEST|ACO_AUTOAPPEND case. 2008-09-18 12:53:07 +02:00
Mikołaj Zalewski
db74fed6d1 shell32: autocomplete: Fix a logical AND to a bitwise AND. 2008-09-18 12:52:44 +02:00
Mikołaj Zalewski
a4fd5a1f40 shell32: autocomplete: Add stub IAutoCompleteDropDown interface. 2008-09-18 12:52:31 +02:00
Mikołaj Zalewski
8525f6950f shell32: autocomplete: There is no need for separate IAutoComplete and IAutoComplete2 vtbls. 2008-07-30 12:44:00 +02:00
Mikołaj Zalewski
763018e176 shell32: autocomplete: Don't pass NULL pceltFetched to IEnumString_Next. 2008-07-24 13:03:30 +02:00
Andrew Talbot
52db721a69 shell32: Remove unneeded casts. 2008-01-21 11:38:59 +01:00
Francois Gouget
44b52b128c Assorted spelling fixes. 2008-01-16 12:48:29 +01:00
Andrew Talbot
0ad8ef0772 shell32: Exclude unused headers. 2007-05-21 12:31:23 +02:00
Mikołaj Zalewski
3924e6b730 shell32: autocomplete: Don't use sel uninitialized. 2007-03-27 12:31:11 +02:00
Hans Leidekker
89e1d29482 shell32: Win64 printf format warning fixes. 2006-10-09 12:45:02 +02:00
Jonathan Ernst
360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Alexandre Julliard
b1a9701bb5 Replace the _ICOM_THIS_From macros by inline functions the way it's
already done in shelllink.c.
2005-07-27 11:10:52 +00:00
Mike McCormack
e28c014a84 -Wpointer-sign fixes. 2005-07-03 12:03:35 +00:00
Dmitry Timoshkov
eba47f1dfe Make remaining OLE interface vtables const. 2005-06-06 19:50:35 +00:00
Francois Gouget
93416cdaf7 Assorted spelling fixes. 2005-03-23 13:15:18 +00:00
Mike McCormack
17c3106896 Eliminate casts of the return value of HeapAlloc. 2005-03-21 11:25:13 +00:00
James Hawkins
ba92d2924a - Use Interlocked* instead of ++/-- in AddRef/Release.
- Use only stored result of Interlocked* in AddRef/Release.
- Expand TRACEs to display the ref count.
2005-01-14 16:02:20 +00:00
Michael Stefaniuc
5ad7d858e0 Do not check for non NULL pointer before HeapFree'ing it. It's
redundant.
2004-12-23 17:06:43 +00:00
Francois Gouget
486d020c1b Don't define COBJMACROS in objbase.h.
Update the Wine sources accordingly.
2004-10-07 03:06:48 +00:00