From d2b63eaf1f5486380595f3ebb7a26386c1f20363 Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Tue, 12 Jul 2011 13:07:15 -0400 Subject: [PATCH] fix a crash-on-exit meta_frames_destroy() was not safe to be called multiple times, which was causing a crash on exit due to something else changing somewhere that makes it get called multiple times. https://bugzilla.gnome.org/show_bug.cgi?id=654489 --- src/ui/frames.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/ui/frames.c b/src/ui/frames.c index d9e2bcacb..167d5dceb 100644 --- a/src/ui/frames.c +++ b/src/ui/frames.c @@ -313,8 +313,17 @@ meta_frames_destroy (GtkWidget *object) } g_slist_free (winlist); - g_object_unref (frames->normal_style); - g_hash_table_destroy (frames->style_variants); + if (frames->normal_style) + { + g_object_unref (frames->normal_style); + frames->normal_style = NULL; + } + + if (frames->style_variants) + { + g_hash_table_destroy (frames->style_variants); + frames->style_variants = NULL; + } GTK_WIDGET_CLASS (meta_frames_parent_class)->destroy (object); }