diff options
author | David King <dking@redhat.com> | 2013-10-07 13:46:16 +0100 |
---|---|---|
committer | David King <amigadave@amigadave.com> | 2013-10-08 10:55:29 +0100 |
commit | 5f611831587507ff21e481a4afbbfc13a5441344 (patch) | |
tree | 9876a6adf3400742b37d9e9e23e6bf88b7f7e24b /gtk/gtkstack.c | |
parent | 05907afc1cc05c668938cb247cbc409277c48994 (diff) | |
download | gtk+-5f611831587507ff21e481a4afbbfc13a5441344.tar.gz |
stack: Warn when setting a visible child which is not in the stack
https://bugzilla.gnome.org/show_bug.cgi?id=709613
Diffstat (limited to 'gtk/gtkstack.c')
-rw-r--r-- | gtk/gtkstack.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/gtk/gtkstack.c b/gtk/gtkstack.c index de1ead82f7..eb2afd5de1 100644 --- a/gtk/gtkstack.c +++ b/gtk/gtkstack.c @@ -1341,7 +1341,11 @@ gtk_stack_set_visible_child (GtkStack *stack, child_info = find_child_info_for_widget (stack, child); if (child_info == NULL) - return; + { + g_warning ("Given child of type '%s' not found in GtkStack", + G_OBJECT_TYPE_NAME (child)); + return; + } if (gtk_widget_get_visible (child_info->widget)) set_visible_child (stack, child_info, @@ -1406,7 +1410,13 @@ gtk_stack_set_visible_child_full (GtkStack *stack, } } - if (child_info != NULL && gtk_widget_get_visible (child_info->widget)) + if (child_info == NULL) + { + g_warning ("Child name '%s' not found in GtkStack", name); + return; + } + + if (gtk_widget_get_visible (child_info->widget)) set_visible_child (stack, child_info, transition, priv->transition_duration); } |