// reset the icon
wxIconBundle iconsOld = win->GetIcons();
- if ( iconsOld.GetIcon(-1).Ok() )
+ if ( !iconsOld.IsEmpty() )
{
win->SetIcon( wxNullIcon );
win->SetIcons( iconsOld );
void wxTopLevelWindowGTK::SetIcon( const wxIcon &icon )
{
- SetIcons( wxIconBundle( icon ) );
+ // passing wxNullIcon to SetIcon() is possible (it means that we shouldn't
+ // have any icon), but adding an invalid icon to wxIconBundle is not
+ wxIconBundle icons;
+ if ( icon.Ok() )
+ icons.AddIcon(icon);
+
+ SetIcons(icons);
}
void wxTopLevelWindowGTK::SetIcons( const wxIconBundle &icons )
wxTopLevelWindowBase::SetIcons( icons );
+ if ( icons.IsEmpty() )
+ return;
+
GdkWindow* window = m_widget->window;
if (!window)
return;