]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/window.cpp
When making the DLL with glcanvas then you have to link the dll with
[wxWidgets.git] / src / gtk / window.cpp
index ba648e96bf0eb0e4a0dae323cbc8b2e35b1e0dcf..2519cd6f39f72ad498427ab03dc168e988ef2f8d 100644 (file)
 #include <gtk/gtk.h>
 #include <gdk/gdkprivate.h>
 #include <gdk/gdkkeysyms.h>
-#include <wx/gtk/win_gtk.h>
-
 #include <gdk/gdkx.h>
 
+#include <gtk/gtk.h>
+#include <gtk/gtkprivate.h>
+
+#include "wx/gtk/win_gtk.h"
+
 //-----------------------------------------------------------------------------
 // documentation on internals
 //-----------------------------------------------------------------------------
@@ -270,7 +273,7 @@ gdk_window_warp_pointer (GdkWindow      *window,
   GdkWindowPrivate *priv;
 
   if (!window)
-    window = (GdkWindow*) &gdk_root_parent;
+    window = GDK_ROOT_PARENT();
 
   priv = (GdkWindowPrivate*) window;
 
@@ -621,7 +624,7 @@ static int gtk_window_expose_callback( GtkWidget *widget, GdkEventExpose *gdk_ev
         wxapp_install_idle_handler();
         
 /*
-    if (win->GetName() == wxT("status_line"))
+    if (win->GetName() == wxT("panel"))
     {
         wxPrintf( wxT("OnExpose from ") );
         if (win->GetClassInfo() && win->GetClassInfo()->GetClassName())
@@ -721,7 +724,7 @@ static void gtk_window_draw_callback( GtkWidget *widget, GdkRectangle *rect, wxW
         wxapp_install_idle_handler();
         
 /*
-    if (win->GetName() == wxT("status_line"))
+    if (win->GetName() == wxT("panel"))
     {
         wxPrintf( wxT("OnDraw from ") );
         if (win->GetClassInfo() && win->GetClassInfo()->GetClassName())
@@ -737,6 +740,7 @@ static void gtk_window_draw_callback( GtkWidget *widget, GdkRectangle *rect, wxW
         
     if (!win->m_queuedFullRedraw)
     {
+    
         if (!(GTK_WIDGET_APP_PAINTABLE (widget)) &&
              (pizza->clear_on_draw))
         {
@@ -2571,8 +2575,14 @@ void wxWindow::OnInternalIdle()
            the actual size of window, in which case all expose events that resulted
            from resizing the window have been sent (and discarded) and we can
            now do our full redraw and switch on expose event handling again. */
-           
-        if ((m_width == m_widget->allocation.width) && (m_height == m_widget->allocation.height))
+        
+        bool child_already_resized = FALSE;
+        if (m_isFrame)
+            child_already_resized = gtk_pizza_child_resized( GTK_PIZZA(m_wxwindow->parent), m_wxwindow );
+        else
+            child_already_resized = gtk_pizza_child_resized( GTK_PIZZA(m_widget->parent), m_widget );
+        
+        if (child_already_resized)
         {
             m_queuedFullRedraw = FALSE;
             m_updateRegion.Clear();