]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/dcclient.cpp
fixes for the focus handling: don't set back to back set/kill focus events
[wxWidgets.git] / src / gtk / dcclient.cpp
index 92566a3da03fba35d659c240278606d7d354622d..5af43d6f273c00be651908b7ae66b7c03d726540 100644 (file)
@@ -1560,6 +1560,11 @@ void wxWindowDC::Clear()
 
     if (!m_window) return;
 
+    // VZ: the code below results in infinite recursion and crashes when
+    //     dc.Clear() is done from OnPaint() so I disable it for now.
+    //     I don't know what the correct fix is but Clear() surely should not
+    //     reenter OnPaint()!
+#if 0
     /* - we either are a memory dc or have a window as the
        owner. anything else shouldn't happen.
        - we don't use gdk_window_clear() as we don't set
@@ -1580,11 +1585,18 @@ void wxWindowDC::Clear()
         gdk_draw_rectangle( m_window, m_bgGC, TRUE, 0, 0, width, height );
         return;
     }
+#else // 1
+    int width,height;
+    GetSize( &width, &height );
+    gdk_draw_rectangle( m_window, m_bgGC, TRUE, 0, 0, width, height );
+#endif // 0/1
 }
 
 void wxWindowDC::SetFont( const wxFont &font )
 {
-    wxCHECK_RET( font.Ok(), _T("invalid font in wxWindowDC::SetFont") );
+    // It is common practice to set the font to wxNullFont, so
+    // don't consider it to be an error
+    //    wxCHECK_RET( font.Ok(), _T("invalid font in wxWindowDC::SetFont") );
 
     m_font = font;
 #ifdef __WXGTK20__