]> git.saurik.com Git - wxWidgets.git/blobdiff - src/univ/themes/win32.cpp
Ehm... fixed my comment about DJGPP to say what I wanted it to say
[wxWidgets.git] / src / univ / themes / win32.cpp
index 3261e10239f09a7652bb784ef810147096d1c75b..75adfec94e38d99d608941fff44daf3f1124dab4 100644 (file)
@@ -2195,7 +2195,13 @@ wxBitmap wxWin32Renderer::GetIndicator(IndicatorType indType, int flags)
                                     : IndicatorStatus_Unchecked;
 
     const char **xpm = bmpIndicators[indType][indState][indStatus];
-    return xpm ? wxBitmap(xpm) : wxNullBitmap;
+    if (xpm)
+    {
+        wxBitmap bmp(xpm);
+       return bmp;
+    }
+    else
+       return wxNullBitmap;
 }
 
 void wxWin32Renderer::DrawCheckOrRadioButton(wxDC& dc,
@@ -2233,6 +2239,7 @@ void wxWin32Renderer::DrawCheckOrRadioButton(wxDC& dc,
         rectLabel.SetRight(rect.GetRight());
     }
 
+    // THIS IS THE CULPRIT -- JACS
     dc.DrawBitmap(bitmap, xBmp, yBmp, TRUE /* use mask */);
 
     DoDrawLabel(
@@ -2254,10 +2261,19 @@ void wxWin32Renderer::DrawRadioButton(wxDC& dc,
                                       wxAlignment align,
                                       int indexAccel)
 {
-    DrawCheckOrRadioButton(dc, label,
-                           bitmap.Ok() ? bitmap : GetRadioBitmap(flags),
+    if (bitmap.Ok())
+        DrawCheckOrRadioButton(dc, label,
+                              bitmap,
+                           rect, flags, align, indexAccel,
+                            FOCUS_RECT_OFFSET_Y); // default focus rect offset
+    else
+    {
+       wxBitmap rbitmap(GetRadioBitmap(flags));
+        DrawCheckOrRadioButton(dc, label,
+                              rbitmap,
                            rect, flags, align, indexAccel,
-                           FOCUS_RECT_OFFSET_Y); // default focus rect offset
+                              FOCUS_RECT_OFFSET_Y); // default focus rect offset
+    }
 }
 
 void wxWin32Renderer::DrawCheckButton(wxDC& dc,
@@ -2268,10 +2284,21 @@ void wxWin32Renderer::DrawCheckButton(wxDC& dc,
                                       wxAlignment align,
                                       int indexAccel)
 {
-    DrawCheckOrRadioButton(dc, label,
-                           bitmap.Ok() ? bitmap : GetCheckBitmap(flags),
-                           rect, flags, align, indexAccel,
-                           0); // no focus rect offset for checkboxes
+    if (bitmap.Ok())
+        DrawCheckOrRadioButton(dc, label,
+                              bitmap,
+                             rect, flags, align, indexAccel,
+                             0); // no focus rect offset for checkboxes
+    else
+    {
+       wxBitmap cbitmap(GetCheckBitmap(flags));
+#if 1
+        DrawCheckOrRadioButton(dc, label,
+                             cbitmap,
+                             rect, flags, align, indexAccel,
+                              0); // no focus rect offset for checkboxes
+#endif
+    }
 }
 
 // ----------------------------------------------------------------------------