summaryrefslogtreecommitdiff
path: root/src/ui/frames.c
diff options
context:
space:
mode:
authorVictor Kareh <[email protected]>2019-05-21 14:15:37 -0400
committerVictor Kareh <[email protected]>2019-06-05 10:49:37 -0400
commit32b900d676c916132bd4f3526837e24e9407bc38 (patch)
tree0c3e8fc205514b3f2708f2ad86b71b7568990346 /src/ui/frames.c
parentb08c0e992141ffb321289fefe88200b2de3c9c72 (diff)
downloadmarco-32b900d676c916132bd4f3526837e24e9407bc38.tar.bz2
marco-32b900d676c916132bd4f3526837e24e9407bc38.tar.xz
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 upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/e35be641
Diffstat (limited to 'src/ui/frames.c')
-rw-r--r--src/ui/frames.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/ui/frames.c b/src/ui/frames.c
index ebf46392..6d0d5aa1 100644
--- a/src/ui/frames.c
+++ b/src/ui/frames.c
@@ -303,8 +303,17 @@ meta_frames_destroy (GtkWidget *widget)
}
g_slist_free (winlist);
+ 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 (widget);
}