diff options
author | Victor Kareh <[email protected]> | 2019-05-21 14:15:37 -0400 |
---|---|---|
committer | Victor Kareh <[email protected]> | 2019-06-05 10:49:37 -0400 |
commit | 32b900d676c916132bd4f3526837e24e9407bc38 (patch) | |
tree | 0c3e8fc205514b3f2708f2ad86b71b7568990346 /src/ui/frames.c | |
parent | b08c0e992141ffb321289fefe88200b2de3c9c72 (diff) | |
download | marco-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.c | 9 |
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); } |