From 2a26c39b299a24434595109640e31a77715c4ab1 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sat, 5 Apr 2014 11:21:50 -0400 Subject: [PATCH] overlay: deal gracefully with main widget being absent It can happen that we get a size request when the main widget is still NULL. Currently we hit a critical in this case, and stumble on. We can do better. Opening a new tab in nautilus is hitting this case. https://bugzilla.gnome.org/show_bug.cgi?id=727643 --- gtk/gtkoverlay.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gtk/gtkoverlay.c b/gtk/gtkoverlay.c index c77b7cc3b3..49abeff466 100644 --- a/gtk/gtkoverlay.c +++ b/gtk/gtkoverlay.c @@ -203,13 +203,20 @@ gtk_overlay_get_main_widget_allocation (GtkOverlay *overlay, main_alloc.width = gtk_widget_get_allocated_width (grandchild); main_alloc.height = gtk_widget_get_allocated_height (grandchild); } - else + else if (GTK_IS_WIDGET (main_widget)) { main_alloc.x = 0; main_alloc.y = 0; main_alloc.width = gtk_widget_get_allocated_width (main_widget); main_alloc.height = gtk_widget_get_allocated_height (main_widget); } + else + { + main_alloc.x = 0; + main_alloc.y = 0; + main_alloc.width = 1; + main_alloc.height = 1; + } if (main_alloc_out) *main_alloc_out = main_alloc;