]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/gdiimage.cpp
Don't do the wx cleanup if wxPython didn't do the initialization.
[wxWidgets.git] / src / msw / gdiimage.cpp
index ba859915999b9de46105bef72eb6df4653bf608f..26e92921109019ac763d12375cd9c4a30fab4549 100644 (file)
@@ -511,21 +511,21 @@ bool wxICOResourceHandler::LoadIcon(wxIcon *icon,
     // try to load the icon from this program first to allow overriding the
     // standard icons (although why one would want to do it considering that
     // we already have wxApp::GetStdIcon() is unclear)
     // try to load the icon from this program first to allow overriding the
     // standard icons (although why one would want to do it considering that
     // we already have wxApp::GetStdIcon() is unclear)
+
+    // note that we can't just always call LoadImage() because it seems to do
+    // some icon rescaling internally which results in very ugly 16x16 icons
 #if defined(__WIN32__) && !defined(__SC__)
 #if defined(__WIN32__) && !defined(__SC__)
-    if ( !hasSize )
+    if ( hasSize )
     {
     {
-        // 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);
     }
     }
-
-    hicon = (HICON)::LoadImage(wxGetInstance(), name, IMAGE_ICON,
-                                desiredWidth, desiredHeight,
-                                LR_DEFAULTCOLOR);
-#else // !Win32
-    hicon = ::LoadIcon(wxGetInstance(), name);
+    else
 #endif // Win32/!Win32
 #endif // Win32/!Win32
+    {
+        hicon = ::LoadIcon(wxGetInstance(), name);
+    }
 
     // next check if it's not a standard icon
     if ( !hicon && !hasSize )
 
     // next check if it's not a standard icon
     if ( !hicon && !hasSize )
@@ -539,7 +539,7 @@ bool wxICOResourceHandler::LoadIcon(wxIcon *icon,
             { wxT("wxICON_QUESTION"),   IDI_QUESTION    },
             { wxT("wxICON_WARNING"),    IDI_EXCLAMATION },
             { wxT("wxICON_ERROR"),      IDI_HAND        },
             { wxT("wxICON_QUESTION"),   IDI_QUESTION    },
             { wxT("wxICON_WARNING"),    IDI_EXCLAMATION },
             { wxT("wxICON_ERROR"),      IDI_HAND        },
-            { wxT("wxICON_INFO"),       IDI_ASTERISK    },
+            { wxT("wxICON_INFORMATION"),       IDI_ASTERISK    },
         };
 
         for ( size_t nIcon = 0; !hicon && nIcon < WXSIZEOF(stdIcons); nIcon++ )
         };
 
         for ( size_t nIcon = 0; !hicon && nIcon < WXSIZEOF(stdIcons); nIcon++ )
@@ -554,12 +554,6 @@ bool wxICOResourceHandler::LoadIcon(wxIcon *icon,
     wxSize size = GetHiconSize(hicon);
     icon->SetSize(size.x, size.y);
 
     wxSize size = GetHiconSize(hicon);
     icon->SetSize(size.x, size.y);
 
-    // Override the found values with desired values
-    if ( hasSize )
-    {
-        icon->SetSize(desiredWidth, desiredHeight);
-    }
-
     icon->SetHICON((WXHICON)hicon);
 
     return icon->Ok();
     icon->SetHICON((WXHICON)hicon);
 
     return icon->Ok();