]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/bmpbuttn.cpp
added wxLog::Suspend/Resume and wxYield() uses them now so that it won't flush
[wxWidgets.git] / src / msw / bmpbuttn.cpp
index 2cee20c982d46c2aa4b7b2f8d6a4c7f8938395fd..4eb6795442050f5075905861c0f7980117cb4fd7 100644 (file)
@@ -185,9 +185,8 @@ bool wxBitmapButton::MSWOnDraw(WXDRAWITEMSTRUCT *item)
         // (for a wxMask this means that this is a non transparent pixel), the
         // bg ROP is applied for all the others
 
-        wxColour colBg = GetBackgroundColour();
         HBRUSH hbrBackground =
-            ::CreateSolidBrush(RGB(colBg.Red(), colBg.Green(), colBg.Blue()));
+            ::CreateSolidBrush(wxColourToRGB(GetBackgroundColour()));
         HBRUSH hbrOld = (HBRUSH)::SelectObject(hDC, hbrBackground);
 
         ok = ::MaskBlt(
@@ -202,6 +201,13 @@ bool wxBitmapButton::MSWOnDraw(WXDRAWITEMSTRUCT *item)
         ::DeleteObject(hbrBackground);
     }
     else
+    {
+        // this will make the check below fail and BitBlt() will be used if
+        // MaskBlt() is not supported (for example, under Win95)
+        ok = FALSE;
+    }
+
+    if ( !ok )
 #endif // Win32
     {
         ok = ::BitBlt(hDC, x1, y1, wBmp, hBmp,  // dst