From d3f75f31c8042b7db68811a591e2b80c5d5096ff Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= <mail@3v1n0.net>
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