bool wxButton::Enable( bool enable )
{
- bool isEnabled = IsEnabled();
-
- if ( !wxControl::Enable( enable ) )
+ if (!base_type::Enable(enable))
return false;
gtk_widget_set_sensitive(GTK_BIN(m_widget)->child, enable);
- if (!isEnabled && enable)
- {
+ if (enable)
GTKFixSensitivity();
- }
GTKUpdateBitmap();
void wxButton::GTKUpdateBitmap()
{
- State state = GTKGetCurrentState();
+ // if we don't show bitmaps at all, there is nothing to update
+ if ( m_bitmaps[State_Normal].IsOk() )
+ {
+ // if we do show them, this will return a state for which we do have a
+ // valid bitmap
+ State state = GTKGetCurrentState();
- GTKDoShowBitmap(m_bitmaps[state]);
+ GTKDoShowBitmap(m_bitmaps[state]);
+ }
}
void wxButton::GTKDoShowBitmap(const wxBitmap& bitmap)
}
gtk_button_set_image_position(GTK_BUTTON(m_widget), gtkpos);
+ InvalidateBestSize();
}
#endif // GTK+ 2.10+
}