]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk1/brush.cpp
fixed (rare but fatal) bug in wxWindowDisabler
[wxWidgets.git] / src / gtk1 / brush.cpp
index 2f945402ce47202fb9a70cdabc1bd1c1cffdc481..b58261b95c34a22bde413acda9d4c50cb6b6a23c 100644 (file)
@@ -65,10 +65,15 @@ wxBrush::wxBrush( const wxColour &colour, int style )
 wxBrush::wxBrush( const wxBitmap &stippleBitmap )
 {
     m_refData = new wxBrushRefData();
-    M_BRUSHDATA->m_style = wxSTIPPLE;
     M_BRUSHDATA->m_colour = *wxBLACK;
+    
     M_BRUSHDATA->m_stipple = stippleBitmap;
 
+    if (M_BRUSHDATA->m_stipple.GetMask())
+               M_BRUSHDATA->m_style = wxSTIPPLE_MASK_OPAQUE;
+       else
+               M_BRUSHDATA->m_style = wxSTIPPLE;
+
     if (wxTheBrushList) wxTheBrushList->AddBrush( this );
 }
 
@@ -161,6 +166,14 @@ void wxBrush::SetStipple( const wxBitmap& stipple )
 {
     Unshare();
     M_BRUSHDATA->m_stipple = stipple;
+    if (M_BRUSHDATA->m_stipple.GetMask())
+    {
+                  M_BRUSHDATA->m_style = wxSTIPPLE_MASK_OPAQUE;
+        }
+        else
+        {              
+                  M_BRUSHDATA->m_style = wxSTIPPLE;
+        }              
 }
 
 void wxBrush::Unshare()