aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/misc
diff options
context:
space:
mode:
Diffstat (limited to 'widgets/misc')
-rw-r--r--widgets/misc/ChangeLog4
-rw-r--r--widgets/misc/e-combo-button.c23
2 files changed, 17 insertions, 10 deletions
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);
}