[mutter] fix a crash-on-exit



commit d2b63eaf1f5486380595f3ebb7a26386c1f20363
Author: Dan Winship <danw gnome org>
Date:   Tue Jul 12 13:07:15 2011 -0400

    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 files changed, 11 insertions(+), 2 deletions(-)
---
diff --git a/src/ui/frames.c b/src/ui/frames.c
index d9e2bca..167d5dc 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);
 }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]