]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/win_gtk.cpp
Fix referencing of cairo_t returned from wxDCImpl::GetCairoContext().
[wxWidgets.git] / src / gtk / win_gtk.cpp
index 91f6cf031ca9a509a0d0c887797f86278ddb4043..538305505d9f40497cc6d21b3baf53ead6d53b7a 100644 (file)
@@ -2,7 +2,6 @@
 // Name:        src/gtk/win_gtk.cpp
 // Purpose:     native GTK+ widget for wxWindow
 // Author:      Paul Cornett
-// Id:          $Id$
 // Copyright:   (c) 2007 Paul Cornett
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
@@ -379,7 +378,14 @@ void wxPizza::move(GtkWidget* widget, int x, int y, int width, int height)
 
 void wxPizza::put(GtkWidget* widget, int x, int y, int width, int height)
 {
-    gtk_fixed_put(GTK_FIXED(this), widget, 0, 0);
+    // Re-parenting a TLW under a child window is possible at wx level but
+    // using a TLW as child at GTK+ level results in problems, so don't do it.
+#if GTK_CHECK_VERSION(2,19,3)
+    if (!gtk_widget_is_toplevel(GTK_WIDGET(widget)))
+#else
+    if (!GTK_WIDGET_TOPLEVEL(GTK_WIDGET(widget)))
+#endif
+        gtk_fixed_put(GTK_FIXED(this), widget, 0, 0);
 
     wxPizzaChild* child = new wxPizzaChild;
     child->widget = widget;