fixed bug with loading standard icons
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11385 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -493,11 +493,17 @@ bool wxICOResourceHandler::LoadIcon(wxIcon *icon,
|
|||||||
{
|
{
|
||||||
HICON hicon;
|
HICON hicon;
|
||||||
|
|
||||||
|
// do we need the icon of the specific size or would any icon do?
|
||||||
|
bool hasSize = desiredWidth != -1 || desiredHeight != -1;
|
||||||
|
|
||||||
|
wxASSERT_MSG( !hasSize || (desiredWidth != -1 && desiredHeight != -1),
|
||||||
|
_T("width and height should be either both -1 or not") );
|
||||||
|
|
||||||
// try to load the icon from this program first to allow overriding the
|
// 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
|
// standard icons (although why one would want to do it considering that
|
||||||
// we already have wxApp::GetStdIcon() is unclear)
|
// we already have wxApp::GetStdIcon() is unclear)
|
||||||
#if defined(__WIN32__) && !defined(__SC__)
|
#if defined(__WIN32__) && !defined(__SC__)
|
||||||
if ( desiredWidth != -1 && desiredHeight != -1 )
|
if ( hasSize )
|
||||||
{
|
{
|
||||||
hicon = (HICON)::LoadImage(wxGetInstance(), name, IMAGE_ICON,
|
hicon = (HICON)::LoadImage(wxGetInstance(), name, IMAGE_ICON,
|
||||||
desiredWidth, desiredHeight,
|
desiredWidth, desiredHeight,
|
||||||
@@ -510,7 +516,7 @@ bool wxICOResourceHandler::LoadIcon(wxIcon *icon,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// next check if it's not a standard icon
|
// next check if it's not a standard icon
|
||||||
if ( !hicon )
|
if ( !hicon && !hasSize )
|
||||||
{
|
{
|
||||||
static const struct
|
static const struct
|
||||||
{
|
{
|
||||||
@@ -528,11 +534,7 @@ bool wxICOResourceHandler::LoadIcon(wxIcon *icon,
|
|||||||
{
|
{
|
||||||
if ( name == stdIcons[nIcon].name )
|
if ( name == stdIcons[nIcon].name )
|
||||||
{
|
{
|
||||||
hicon = (HICON)::LoadImage((HINSTANCE)NULL,
|
hicon = ::LoadIcon((HINSTANCE)NULL, stdIcons[nIcon].id);
|
||||||
stdIcons[nIcon].id,
|
|
||||||
IMAGE_ICON,
|
|
||||||
desiredWidth, desiredHeight,
|
|
||||||
LR_DEFAULTCOLOR);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user