]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/window.cpp
pc 2 mac conversion for file operations
[wxWidgets.git] / src / gtk / window.cpp
index ca83cf7c87e437426aa89a9b2df87fae57085612..a3283de88354fcd155599d9d9d8e05c63960bad1 100644 (file)
@@ -2450,8 +2450,10 @@ void wxWindowGTK::Init()
 
     m_hAdjust = (GtkAdjustment*) NULL;
     m_vAdjust = (GtkAdjustment*) NULL;
-    m_oldHorizontalPos = 0.0;
+    m_oldHorizontalPos =
     m_oldVerticalPos = 0.0;
+    m_oldClientWidth =
+    m_oldClientHeight = 0;
 
     m_resizing = FALSE;
     m_widgetStyle = (GtkStyle*) NULL;
@@ -3605,6 +3607,18 @@ void wxWindowGTK::Refresh( bool eraseBackground, const wxRect *rect )
     if (g_isIdle)
         wxapp_install_idle_handler();
 
+    wxRect myRect(0,0,0,0);
+    if (m_wxwindow && rect)
+    {
+        myRect.SetSize(wxSize( m_wxwindow->allocation.width,
+                               m_wxwindow->allocation.height));
+        myRect.Intersect(*rect);
+        if (!myRect.width || !myRect.height)
+            // nothing to do, rectangle is empty
+            return;
+        rect = &myRect;
+    }
+
     if (eraseBackground && m_wxwindow && m_wxwindow->window)
     {
         if (rect)
@@ -4035,7 +4049,7 @@ void wxWindowGTK::SetWidgetStyle()
     {
 #ifdef __WXGTK20__
         pango_font_description_free( style->font_desc );
-        pango_font_description_copy( m_font.GetNativeFontInfo()->description );
+        style->font_desc = pango_font_description_copy( m_font.GetNativeFontInfo()->description );
 #else
         gdk_font_unref( style->font );
         style->font = gdk_font_ref( m_font.GetInternalFont( 1.0 ) );