]> git.saurik.com Git - wxWidgets.git/commitdiff
Avoid problems when reparenting a TLW under a child in wxGTK.
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 10 Jun 2013 15:53:04 +0000 (15:53 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 10 Jun 2013 15:53:04 +0000 (15:53 +0000)
Don't use a TLW with gtk_fixed_put().

Closes #15237.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74155 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/gtk/win_gtk.cpp

index 91f6cf031ca9a509a0d0c887797f86278ddb4043..9d05f09a5d3d5e82f080c956521c7a96b4e46f28 100644 (file)
@@ -379,7 +379,10 @@ 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_widget_is_toplevel(GTK_WIDGET(widget)))
+        gtk_fixed_put(GTK_FIXED(this), widget, 0, 0);
 
     wxPizzaChild* child = new wxPizzaChild;
     child->widget = widget;