diff options
Diffstat (limited to 'widgets')
-rw-r--r-- | widgets/ChangeLog | 4 | ||||
-rw-r--r-- | widgets/menus/gal-view-menus.c | 3 | ||||
-rw-r--r-- | widgets/misc/ChangeLog | 4 | ||||
-rw-r--r-- | widgets/misc/e-combo-button.c | 23 |
4 files changed, 24 insertions, 10 deletions
diff --git a/widgets/ChangeLog b/widgets/ChangeLog index 0c83695834..6412fdcac1 100644 --- a/widgets/ChangeLog +++ b/widgets/ChangeLog @@ -1,3 +1,7 @@ +2003-05-14 JP Rosevear <jpr@ximian.com> + + * menus/gal-view-menus.c (gvm_finalize): unref the component + 2003-05-13 Ettore Perazzoli <ettore@ximian.com> * menus/gal-view-menus.c (gal_view_menus_unmerge): Guard against diff --git a/widgets/menus/gal-view-menus.c b/widgets/menus/gal-view-menus.c index 738c8b89be..dcd911d568 100644 --- a/widgets/menus/gal-view-menus.c +++ b/widgets/menus/gal-view-menus.c @@ -148,6 +148,9 @@ gvm_finalize (GObject *object) gal_view_menus_unmerge (gvm, NULL); + if (gvm->priv->component) + bonobo_object_unref (gvm->priv->component); + if (gvm->priv->define_views_dialog) g_object_weak_unref (G_OBJECT (gvm->priv->define_views_dialog), clear_define_views_dialog, gvm); diff --git a/widgets/misc/ChangeLog b/widgets/misc/ChangeLog index ee2158b531..f805cb4660 100644 --- a/widgets/misc/ChangeLog +++ b/widgets/misc/ChangeLog @@ -1,3 +1,7 @@ +2003-05-14 JP Rosevear <jpr@ximian.com> + + * e-combo-button.c (impl_destroy): guard against multiple destroys + 2003-05-13 Ettore Perazzoli <ettore@ximian.com> [#42628] diff --git a/widgets/misc/e-combo-button.c b/widgets/misc/e-combo-button.c index 933c4e8ae4..b4c75073fe 100644 --- a/widgets/misc/e-combo-button.c +++ b/widgets/misc/e-combo-button.c @@ -248,18 +248,21 @@ impl_destroy (GtkObject *object) combo_button = E_COMBO_BUTTON (object); priv = combo_button->priv; - if (priv->arrow_pixmap != NULL) { - gtk_widget_destroy (priv->arrow_pixmap); - priv->arrow_pixmap = NULL; - } + if (priv) { + if (priv->arrow_pixmap != NULL) { + gtk_widget_destroy (priv->arrow_pixmap); + priv->arrow_pixmap = NULL; + } + + if (priv->icon != NULL) { + g_object_unref (priv->icon); + priv->icon = NULL; + } - if (priv->icon != NULL) { - g_object_unref (priv->icon); - priv->icon = NULL; + g_free (priv); + combo_button->priv = NULL; } - - g_free (priv); - + (* GTK_OBJECT_CLASS (parent_class)->destroy) (object); } |