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
Alex Henrie
4b5d0f2f43
shell32: Rename IDI_SHELL_DOCUMENT to IDI_SHELL_FILE.
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-17 09:46:36 +02:00
Nikolay Sivov
e51c9b47b8
shell32: Add SHIL_JUMBO list.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-21 10:13:43 +01:00
Nikolay Sivov
7db6885da7
shell32: Add support for SHIL_SYSSMALL list.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-21 10:13:36 +01:00
Nikolay Sivov
479dc1d8c3
shell32: Add support for SHIL_EXTRALARGE list.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-21 10:13:32 +01:00
Nikolay Sivov
0075b05adf
shell32: Move SHGetImageList() to related source file.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-21 10:13:27 +01:00
Nikolay Sivov
09389c4bab
shell32: Pass handle arrays between icon cache helpers.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-21 10:13:23 +01:00
Nikolay Sivov
ff5cfaab56
shell32: Use array for icon lists.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-21 10:13:18 +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
André Hentschel
460053b8fc
shell32: Don't cast return value from DPA_GetPtr.
...
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-02 15:52:22 +01:00
Huw Davies
a7d79fe445
shell32: Load icons with the correct size.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-02 17:51:29 +02:00
Huw Davies
3a1b289d66
shell32: Fix the icon sizes of the shell imagelists.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-02 17:51:25 +02:00
Huw Davies
734dc8f200
shell32: Use the imagelist to determine the icon size.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-19 14:20:49 +02:00
Huw Davies
524e316a14
shell32: Avoid leaking icon handles.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-19 14:20:48 +02:00
Francois Gouget
cc2a2b0970
shell32: Spelling fixes.
...
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-30 11:55:57 +09:00
Mark Harmstone
77b75ca14b
shell32: Don't hardcode icon sizes in SIC_LoadIcon.
2015-08-03 11:00:54 +02:00
Alexandre Julliard
e330a128d5
shell32: Use Shell_GetImageLists to retrieve image lists instead of using a global variable.
2014-01-02 11:56:11 +01:00
Nikolay Sivov
b5312b70f5
shell32: Don't call comctl32 on unload time if it wasn't used before.
2013-12-11 12:56:07 +01:00
Alexandre Julliard
116e33d50a
shell32: Delay initialization of the icon cache until needed.
2013-10-17 20:29:23 +02:00
Francois Gouget
653354ab25
Assorted spelling fixes.
2013-07-03 21:20:04 +02:00
Detlef Riekenberg
ea516bfc10
shell32: Fix a copy & paste typo.
2013-04-29 11:42:06 +02:00
Detlef Riekenberg
eafc9e84a6
shell32: Add a semi-stub for SHGetStockIconInfo.
2013-04-26 11:55:26 +02:00
David Hedberg
be2259dce9
shell32: Shell_GetImageLists should be declared in shlobj.h and exported by name.
2010-07-20 12:35:17 +02:00
Marcus Meissner
265c959ed9
shell32: handle corrupt entry in iconcache registry entry (Coverity).
2009-12-04 14:34:58 +01:00
Vincent Povirk
e083dc831c
shell32: Handle NULL return icon parameters in SHDefExtractIcon.
2009-05-18 12:31:56 +02:00
Michael Stefaniuc
6c54ad3dba
shell32: Remove superfluous pointer casts.
2009-02-19 12:52:02 +01:00
Alexandre Julliard
1abff5afef
shell32: Make some functions static.
2008-12-03 12:09:38 +01:00
Michael Stefaniuc
b7de266082
shell32: Remove superfluous casts; mostly of void pointers.
2008-11-06 11:09:51 +01:00
Zac Brown
7a42aba9da
shell32: Add stub implementation for SHGetIconOverlayIndex[AW].
2008-06-27 11:32:10 +02:00
Francois Gouget
44b52b128c
Assorted spelling fixes.
2008-01-16 12:48:29 +01:00
Andrew Talbot
a77715c23b
shell32: Exclude unused headers.
2007-05-21 12:31:29 +02:00
Hans Leidekker
bab2ddb77e
shell32: Add a stub implementation for SHMapIDListToImageListIndexAsync.
2007-04-26 14:24:13 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Martin Fuchs
7114f8c3bd
shell32: Fix folder icon index when read from registry.
...
Change "DWORD dwNr" into "int icon_idx" at several places.
2006-01-11 12:33:24 +01:00
Ge van Geldorp
0991687d3c
Load shortcut icon by resource id instead of by icon index.
2005-11-28 10:59:06 +01:00
Martin Fuchs
d3521da667
SHGetFileInfoW(): handle SHGFI_LINKOVERLAY and SHGFI_OVERLAYINDEX.
...
SHMapPIDLToSystemImageListIndex(): determine overlay flag for
PidlToSicIndex() and return -1 in error cases.
Read shell overlay icon settings from registry to allow icon
overrides.
2005-11-21 13:35:06 +00:00
Michael Jung
d699222eae
Remove iconcache pre-initialization hack, it's not necessary any
...
more.
2005-10-27 12:08:44 +00:00
Ge van Geldorp
348449a486
Save a few megabytes of memory by loading the default icon only once
...
into the image lists.
2005-09-13 11:24:52 +00:00
Alexandre Julliard
20a1a203c6
Use a more portable scheme for storing the name of a critical
...
section.
2005-09-09 10:19:44 +00:00
Michael Jung
b0b4777422
Implemented 'My Documents' folder.
2005-08-26 10:05:34 +00:00
Francois Gouget
9769816b6e
Fix winapi_check documentation warnings.
2005-06-17 20:58:33 +00:00
Marcus Meissner
96ebd31066
ExtractAssociatedIconA needs to allocate enough space to have EAIW
...
fill in lpIconPathW.
2005-06-17 09:52:33 +00:00
Michael Jung
82ed0ce999
Consider only the GIL_FORSHORTCUT flag in SIC_CompareEntries.
2005-05-20 18:58:35 +00:00
Ge van Geldorp
40cb98269b
Overlay icons for .lnk files with a small arrow in the lower left
...
corner.
2005-05-13 17:48:33 +00:00
Huw Davies
861282bf28
Fix the icon resource ids (most were off by one).
...
Fix IExtractIcon_{GetIconLocation,Extract} to use -ve icon resource
ids and fix bugs relating to confusion between resource ids and the
system imagelist indicies.
Extend the system imagelist initialization hack to load both +ve and
-ve resource ids.
Add a printer icon (that'll be used by an upcoming printer folder
patch).
2005-04-11 13:04:41 +00:00
Hans Leidekker
c1236fd120
Stub implementations for SHUpdateImageA, SHHandleUpdateImage,
...
SHObjectProperties, SHGetNewLinkInfo{A,W}, SHStartNetConnectionDialog,
SHEmptyRecycleBin{A,W}, SHFormatDrive, SHQueryRecycleBin{A,W}.
'HeapAlloc can fail' fix for ExtractIconExA.
Implement ExtractAssociatedIconA -> W.
Correct prototype for SHObjectProperties.
Forward SHGetNewLinkInfo to SHGetNewLinkInfoA.
2005-01-03 20:26:06 +00:00
Alexandre Julliard
758b2887e9
Remove some no longer needed AW functions.
2004-12-17 19:20:07 +00:00
Jon Griffiths
f82272c92f
Remove unneeded headers to reduce unneeded rebuilds.
2004-12-16 14:35:55 +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
Martin Fuchs
7ccc2d25a2
- Use system metrics to determine icon sizes.
...
- Move invalid index from 1 to 0.
2004-09-24 01:10:31 +00:00