diff options
author | Victor Kareh <[email protected]> | 2019-05-21 14:15:37 -0400 |
---|---|---|
committer | raveit65 <[email protected]> | 2019-06-16 18:12:44 +0200 |
commit | aff2e261a7331f35fa7821fd9b524e217723c2fb (patch) | |
tree | 53dc0bc4cf4c0ed49e05f350114a7a1a30eade18 /src/ui/frames.c | |
parent | fd8ca12037660a7fb6903a053c89899adeb78dd5 (diff) | |
download | marco-aff2e261a7331f35fa7821fd9b524e217723c2fb.tar.bz2 marco-aff2e261a7331f35fa7821fd9b524e217723c2fb.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 058fdb91..95f037c3 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); } |