]> git.saurik.com Git - wxWidgets.git/commitdiff
source compatible way to solve the background problem
authorStefan Csomor <csomor@advancedconcepts.ch>
Sun, 13 Feb 2005 16:48:00 +0000 (16:48 +0000)
committerStefan Csomor <csomor@advancedconcepts.ch>
Sun, 13 Feb 2005 16:48:00 +0000 (16:48 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32002 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/mac/carbon/window.cpp

index 19d98ade9b728a4863f983378f729f3845904e2c..444bb432ddc4d98a743235c4788f5071479978f2 100644 (file)
@@ -2253,6 +2253,13 @@ void wxWindowMac::OnEraseBackground(wxEraseEvent& event)
     {
         event.Skip() ;
     }
+    else if ( m_macBackgroundBrush.MacGetBrushKind() == kwxMacBrushTheme )
+    {
+        if ( wxTheApp->MacGetCurrentEvent() != NULL && wxTheApp->MacGetCurrentEventHandlerCallRef() != NULL )
+        {
+            CallNextEventHandler((EventHandlerCallRef)wxTheApp->MacGetCurrentEventHandlerCallRef() , (EventRef) wxTheApp->MacGetCurrentEvent() ) ;
+        }
+    }
     else
 #endif
     {
@@ -3232,9 +3239,14 @@ void wxWindowMac::OnMouseEvent( wxMouseEvent &event )
 
 void wxWindowMac::OnPaint( wxPaintEvent & event )
 {
-    if ( wxTheApp->MacGetCurrentEvent() != NULL && wxTheApp->MacGetCurrentEventHandlerCallRef() != NULL )
+    // in the other case we already have drawn from the OnEraseBackground Handler
+    if ( !m_macBackgroundBrush.Ok() || m_macBackgroundBrush.GetStyle() == wxTRANSPARENT || 
+        m_macBackgroundBrush.MacGetBrushKind() != kwxMacBrushTheme )
     {
-        CallNextEventHandler((EventHandlerCallRef)wxTheApp->MacGetCurrentEventHandlerCallRef() , (EventRef) wxTheApp->MacGetCurrentEvent() ) ;
+        if ( wxTheApp->MacGetCurrentEvent() != NULL && wxTheApp->MacGetCurrentEventHandlerCallRef() != NULL )
+        {
+            CallNextEventHandler((EventHandlerCallRef)wxTheApp->MacGetCurrentEventHandlerCallRef() , (EventRef) wxTheApp->MacGetCurrentEvent() ) ;
+        }
     }
 }