From 39a05c0b55f444eea0a943378c54546f8feea52a Mon Sep 17 00:00:00 2001 From: Elliot Lee Date: Tue, 7 Apr 1998 19:51:06 +0000 Subject: [PATCH] gtk_button_remove(): When removing a child widget from a button, we don't gtk_button_remove(): When removing a child widget from a button, we don't want to check the child's visibility after removal (for the purpose of knowing whether a queue_resize is needed), we want to check it *before*, because the child may be destroyed during the gtk_widget_unparent() The diff is clearer than this stupid log message. :) --- gtk/gtkbutton.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gtk/gtkbutton.c b/gtk/gtkbutton.c index 884a5a8244..17b9a56d73 100644 --- a/gtk/gtkbutton.c +++ b/gtk/gtkbutton.c @@ -816,12 +816,15 @@ gtk_button_remove (GtkContainer *container, if (button->child == widget) { + gboolean widget_was_visible = GTK_WIDGET_VISIBLE(widget); + gtk_widget_unparent (widget); button->child = NULL; - if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_VISIBLE (container)) + if (widget_was_visible && GTK_WIDGET_VISIBLE (container)) gtk_widget_queue_resize (GTK_WIDGET (container)); + } }