From a314c05fec3de0472341991e1ef5190e086643fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= Date: Sun, 22 Nov 2020 00:10:56 +0100 Subject: [PATCH] workspace: Handle child not being present in the window slots array Adding children to the WorkspaceLayout without calling addPreview() is not supported, so let's log an error in case that happened. We also have to allocate that child an empty ClutterActorBox, otherwise Clutter will complain loudly. Part-of: --- js/ui/workspace.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/js/ui/workspace.js b/js/ui/workspace.js index ee6e198b1..ab49e6412 100644 --- a/js/ui/workspace.js +++ b/js/ui/workspace.js @@ -595,8 +595,11 @@ var WorkspaceLayout = GObject.registerClass({ // The fifth element in the slot array is the WindowPreview const index = this._windowSlots.findIndex(s => s[4] === child); - if (index === -1) + if (index === -1) { + log('Couldn\'t find child %s in window slots'.format(child)); + child.allocate(childBox); continue; + } const [x, y, width, height] = this._windowSlots[index]; const windowInfo = this._windows.get(child);