From d3f75f31c8042b7db68811a591e2b80c5d5096ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= Date: Tue, 25 Jun 2019 20:22:54 +0200 Subject: [PATCH 18/28] screen: Unset the active workspace and remove workspaces on free Related to https://gitlab.gnome.org/GNOME/mutter/issues/652 --- src/core/screen.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/core/screen.c b/src/core/screen.c index 2e59754d1..11f3badd4 100644 --- a/src/core/screen.c +++ b/src/core/screen.c @@ -836,6 +836,7 @@ meta_screen_free (MetaScreen *screen, guint32 timestamp) { MetaDisplay *display; + GList *l; display = screen->display; @@ -877,6 +878,16 @@ meta_screen_free (MetaScreen *screen, g_free (screen->screen_name); + screen->active_workspace = NULL; + + for (l = screen->workspaces; l;) + { + MetaWorkspace *workspace = l->data; + l = l->next; + + meta_workspace_remove (workspace); + } + g_object_unref (screen); } -- 2.21.0