[mutter/gnome-3-28] screen: Unset the active workspace and remove workspaces on free



commit d3f75f31c8042b7db68811a591e2b80c5d5096ff
Author: Marco Trevisan (TreviƱo) <mail 3v1n0 net>
Date:   Tue Jun 25 20:22:54 2019 +0200

    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);
 }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]