]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/bmpbuttn.cpp
Ensure there is valid context for DrawRectangle
[wxWidgets.git] / src / msw / bmpbuttn.cpp
index 8cf3fc95ace7fd6173909b7e7dfe61e6cf0fe67a..5aa74bfb40b631960d6fdf100e272140a6d3f058 100644 (file)
@@ -80,7 +80,8 @@ bool wxBitmapButton::Create(wxWindow *parent,
                                      validator, name) )
         return false;
 
                                      validator, name) )
         return false;
 
-    SetBitmapLabel(bitmap);
+    if ( bitmap.IsOk() )
+        SetBitmapLabel(bitmap);
 
     if ( !size.IsFullySpecified() )
     {
 
     if ( !size.IsFullySpecified() )
     {
@@ -92,54 +93,4 @@ bool wxBitmapButton::Create(wxWindow *parent,
     return true;
 }
 
     return true;
 }
 
-void wxBitmapButton::DoSetBitmap(const wxBitmap& bitmap, State which)
-{
-    if ( bitmap.IsOk() )
-    {
-        switch ( which )
-        {
-#if wxUSE_IMAGE
-            case State_Normal:
-                if ( !HasFlag(wxBU_AUTODRAW) && !m_disabledSetByUser )
-                {
-                    wxImage img(bitmap.ConvertToImage().ConvertToGreyscale());
-                    wxBitmapButtonBase::DoSetBitmap(img, State_Disabled);
-                }
-                break;
-#endif // wxUSE_IMAGE
-
-            case State_Focused:
-                // if the focus bitmap is specified but current one isn't, use
-                // the focus bitmap for hovering as well if this is consistent
-                // with the current Windows version look and feel
-                //
-                // rationale: this is compatible with the old wxGTK behaviour
-                // and also makes it much easier to do "the right thing" for
-                // all platforms (some of them, such as Windows XP, have "hot"
-                // buttons while others don't)
-                if ( !m_hoverSetByUser )
-                    wxBitmapButtonBase::DoSetBitmap(bitmap, State_Current);
-                break;
-
-            case State_Current:
-                // don't overwrite it with the focused bitmap
-                m_hoverSetByUser = true;
-                break;
-
-            case State_Disabled:
-                // don't overwrite it with the version automatically created
-                // from the normal one
-                m_disabledSetByUser = true;
-                break;
-
-            default:
-                // nothing special to do but include the default clause to
-                // suppress gcc warnings
-                ;
-        }
-    }
-
-    wxBitmapButtonBase::DoSetBitmap(bitmap, which);
-}
-
 #endif // wxUSE_BMPBUTTON
 #endif // wxUSE_BMPBUTTON