Currently OleLoadPictureEx() ignores the caller-desired icon size and always loads the 32x32 icon, which sometimes has to be scaled down to 16x16, resulting in quality loss. VB6 apps are especially affected, due to their heavy use of that API at a framework level. Change this to load the icon having the desired size, or the 32x32 one if no desired size is requested, and use the first icon in the file if nothing is found.
Try 2 adds thorough unit tests and improves the icon selection logic to match what Windows does.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=20732
Signed-off-by: Damjan Jovanovic damjan.jov@gmail.com --- dlls/oleaut32/olepicture.c | 29 ++++-- dlls/oleaut32/tests/olepicture.c | 147 +++++++++++++++++++++++++++++++ 2 files changed, 170 insertions(+), 6 deletions(-)