diff --git a/ChangeLog b/ChangeLog index 65e1c69bdb..846727b6b9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +Wed Apr 21 21:38:03 2004 Soeren Sandmann + + * gtk/gtktoolbutton.c (gtk_tool_button_set_label_widget, + gtk_tool_button_set_icon_widget): Remove the old widget from the + tool button before overwriting it with the new widget. + + (#140508, Todd Goyen) + 2004-04-22 Tor Lillqvist Fix the file chooser on Windows. I can't make it misbehave or diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 65e1c69bdb..846727b6b9 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,11 @@ +Wed Apr 21 21:38:03 2004 Soeren Sandmann + + * gtk/gtktoolbutton.c (gtk_tool_button_set_label_widget, + gtk_tool_button_set_icon_widget): Remove the old widget from the + tool button before overwriting it with the new widget. + + (#140508, Todd Goyen) + 2004-04-22 Tor Lillqvist Fix the file chooser on Windows. I can't make it misbehave or diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 65e1c69bdb..846727b6b9 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,11 @@ +Wed Apr 21 21:38:03 2004 Soeren Sandmann + + * gtk/gtktoolbutton.c (gtk_tool_button_set_label_widget, + gtk_tool_button_set_icon_widget): Remove the old widget from the + tool button before overwriting it with the new widget. + + (#140508, Todd Goyen) + 2004-04-22 Tor Lillqvist Fix the file chooser on Windows. I can't make it misbehave or diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 65e1c69bdb..846727b6b9 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,11 @@ +Wed Apr 21 21:38:03 2004 Soeren Sandmann + + * gtk/gtktoolbutton.c (gtk_tool_button_set_label_widget, + gtk_tool_button_set_icon_widget): Remove the old widget from the + tool button before overwriting it with the new widget. + + (#140508, Todd Goyen) + 2004-04-22 Tor Lillqvist Fix the file chooser on Windows. I can't make it misbehave or diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 65e1c69bdb..846727b6b9 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,11 @@ +Wed Apr 21 21:38:03 2004 Soeren Sandmann + + * gtk/gtktoolbutton.c (gtk_tool_button_set_label_widget, + gtk_tool_button_set_icon_widget): Remove the old widget from the + tool button before overwriting it with the new widget. + + (#140508, Todd Goyen) + 2004-04-22 Tor Lillqvist Fix the file chooser on Windows. I can't make it misbehave or diff --git a/gtk/gtktoolbutton.c b/gtk/gtktoolbutton.c index 24fd85f52c..8723f893c3 100644 --- a/gtk/gtktoolbutton.c +++ b/gtk/gtktoolbutton.c @@ -842,8 +842,16 @@ gtk_tool_button_set_icon_widget (GtkToolButton *button, if (icon_widget != button->priv->icon_widget) { if (button->priv->icon_widget) - g_object_unref (G_OBJECT (button->priv->icon_widget)); + { + if (button->priv->icon_widget->parent) + { + gtk_container_remove (GTK_CONTAINER (button->priv->icon_widget->parent), + button->priv->icon_widget); + } + g_object_unref (G_OBJECT (button->priv->icon_widget)); + } + if (icon_widget) { g_object_ref (icon_widget); @@ -881,8 +889,16 @@ gtk_tool_button_set_label_widget (GtkToolButton *button, if (label_widget != button->priv->label_widget) { if (button->priv->label_widget) - g_object_unref (button->priv->label_widget); - + { + if (button->priv->icon_widget->parent) + { + gtk_container_remove (GTK_CONTAINER (button->priv->icon_widget->parent), + button->priv->icon_widget); + } + + g_object_unref (button->priv->label_widget); + } + if (label_widget) { g_object_ref (label_widget);