From fea2b62e8ef6d1dbaeea1d5506630ead9ccc23d0 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Wed, 13 Feb 2002 00:31:29 +0000 Subject: [PATCH] fixed loading the icons with non default size git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14167 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/msw/gdiimage.cpp | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/src/msw/gdiimage.cpp b/src/msw/gdiimage.cpp index 38a1d16db2..ba85991599 100644 --- a/src/msw/gdiimage.cpp +++ b/src/msw/gdiimage.cpp @@ -512,18 +512,21 @@ bool wxICOResourceHandler::LoadIcon(wxIcon *icon, // standard icons (although why one would want to do it considering that // we already have wxApp::GetStdIcon() is unclear) #if defined(__WIN32__) && !defined(__SC__) - if ( hasSize ) - { - hicon = (HICON)::LoadImage(wxGetInstance(), name, IMAGE_ICON, - desiredWidth, desiredHeight, - LR_DEFAULTCOLOR); - } - else -#endif // Win32 + if ( !hasSize ) { - hicon = ::LoadIcon(wxGetInstance(), name); + // use the actual size of the resource (as we don't specify + // LR_DEFAULTSIZE) + desiredWidth = + desiredHeight = 0; } + hicon = (HICON)::LoadImage(wxGetInstance(), name, IMAGE_ICON, + desiredWidth, desiredHeight, + LR_DEFAULTCOLOR); +#else // !Win32 + hicon = ::LoadIcon(wxGetInstance(), name); +#endif // Win32/!Win32 + // next check if it's not a standard icon if ( !hicon && !hasSize ) { @@ -552,7 +555,7 @@ bool wxICOResourceHandler::LoadIcon(wxIcon *icon, icon->SetSize(size.x, size.y); // Override the found values with desired values - if ( desiredWidth > -1 && desiredHeight > -1 ) + if ( hasSize ) { icon->SetSize(desiredWidth, desiredHeight); } -- 2.45.2