diff options
author | Owen Taylor <otaylor@src.gnome.org> | 1998-05-01 04:23:59 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 1998-05-01 04:23:59 +0000 |
commit | 05bc6a5b3639869eee69cfa4a2db8b8968b247cb (patch) | |
tree | 58bad8f48d24c88dfc95206defe79dd0464256f6 /gtk/gtkbin.c | |
parent | e909f843f8e2949144e624ce1af4fd1737396f62 (diff) | |
download | gtk+-05bc6a5b3639869eee69cfa4a2db8b8968b247cb.tar.gz |
Merged changes from gtk-1-0. Check ChangeLog for details.
Diffstat (limited to 'gtk/gtkbin.c')
-rw-r--r-- | gtk/gtkbin.c | 34 |
1 files changed, 16 insertions, 18 deletions
diff --git a/gtk/gtkbin.c b/gtk/gtkbin.c index 4e7b56e140..c1e07766d8 100644 --- a/gtk/gtkbin.c +++ b/gtk/gtkbin.c @@ -200,27 +200,25 @@ gtk_bin_add (GtkContainer *container, g_return_if_fail (widget != NULL); bin = GTK_BIN (container); + g_return_if_fail (bin->child == NULL); - if (!bin->child) + gtk_widget_set_parent (widget, GTK_WIDGET (container)); + + if (GTK_WIDGET_VISIBLE (widget->parent)) { - gtk_widget_set_parent (widget, GTK_WIDGET (container)); - - if (GTK_WIDGET_VISIBLE (widget->parent)) - { - if (GTK_WIDGET_REALIZED (widget->parent) && - !GTK_WIDGET_REALIZED (widget)) - gtk_widget_realize (widget); - - if (GTK_WIDGET_MAPPED (widget->parent) && - !GTK_WIDGET_MAPPED (widget)) - gtk_widget_map (widget); - } - - bin->child = widget; - - if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_VISIBLE (container)) - gtk_widget_queue_resize (widget); + if (GTK_WIDGET_REALIZED (widget->parent) && + !GTK_WIDGET_REALIZED (widget)) + gtk_widget_realize (widget); + + if (GTK_WIDGET_MAPPED (widget->parent) && + !GTK_WIDGET_MAPPED (widget)) + gtk_widget_map (widget); } + + bin->child = widget; + + if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_VISIBLE (container)) + gtk_widget_queue_resize (widget); } static void |