]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/toplevel.cpp
avoiding nesting dcs on the same window concurrently
[wxWidgets.git] / src / gtk / toplevel.cpp
index 7b883348dc14c7bb0be924447f3aadde2a5deccb..95e31b363a377db22fbe3a94f3384e92ff6d709c 100644 (file)
@@ -243,9 +243,6 @@ static void gtk_frame_size_callback( GtkWidget *WXUNUSED(widget), GtkAllocation*
         win->m_width = alloc->width;
         win->m_height = alloc->height;
         
-        if (win->m_mainWidget)
-            GTK_PIZZA(win->m_mainWidget)->m_width = win->m_width;
-        
         win->GtkUpdateSize();
     }
 }
@@ -446,6 +443,7 @@ void wxTopLevelWindowGTK::Init()
     m_insertInClientArea = true;
     m_isIconized = false;
     m_fsIsShowing = false;
+    m_fsSaveFlag = 0;
     m_themeEnabled = true;
     m_gdkDecor = m_gdkFunc = 0;
     m_grabbed = false;
@@ -566,8 +564,6 @@ bool wxTopLevelWindowGTK::Create( wxWindow *parent,
     GTK_WIDGET_UNSET_FLAGS( m_mainWidget, GTK_CAN_FOCUS );
     gtk_container_add( GTK_CONTAINER(m_widget), m_mainWidget );
 
-    GTK_PIZZA(m_mainWidget)->m_width = m_width;
-        
     if (m_miniEdge == 0) // wxMiniFrame has its own version.
     {
        // For m_mainWidget themes
@@ -719,9 +715,15 @@ bool wxTopLevelWindowGTK::ShowFullScreen(bool show, long style )
     if ( (method == wxX11_FS_WMSPEC) && !gtk_check_version(2,2,0) )
     {
         if (show)
+        {
+            m_fsSaveFlag = style;
             gtk_window_fullscreen( GTK_WINDOW( m_widget ) );
+        }
         else
+        {
+            m_fsSaveFlag = 0;
             gtk_window_unfullscreen( GTK_WINDOW( m_widget ) );
+        }
     }
     else
 #endif // GTK+ >= 2.2.0
@@ -764,6 +766,7 @@ bool wxTopLevelWindowGTK::ShowFullScreen(bool show, long style )
         }
         else // hide
         {
+            m_fsSaveFlag = 0;
             if (method != wxX11_FS_WMSPEC)
             {
                 // don't do it always, Metacity hates it
@@ -862,9 +865,6 @@ void wxTopLevelWindowGTK::DoSetSize( int x, int y, int width, int height, int si
     if (width != -1) m_width = width;
     if (height != -1) m_height = height;
     
-    if (m_mainWidget)
-        GTK_PIZZA(m_mainWidget)->m_width = m_width;
-
 /*
     if ((sizeFlags & wxSIZE_AUTO_WIDTH) == wxSIZE_AUTO_WIDTH)
     {
@@ -927,7 +927,7 @@ void wxTopLevelWindowGTK::DoGetClientSize( int *width, int *height ) const
 
     if (height)
     {
-        *height = m_height - 2 * m_miniEdge + m_miniTitle;
+        *height = m_height - 2 * m_miniEdge - m_miniTitle;
         if (*height < 0)
             *height = 0;
     }