aboutsummaryrefslogtreecommitdiffstats
path: root/widgets
diff options
context:
space:
mode:
Diffstat (limited to 'widgets')
-rw-r--r--widgets/ChangeLog4
-rw-r--r--widgets/menus/gal-view-menus.c3
-rw-r--r--widgets/misc/ChangeLog4
-rw-r--r--widgets/misc/e-combo-button.c23
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);
}