gnome-shell/src
Sebastian Keller 488fb46edf shell/app: Don't move all workspace windows to their startup workspace
Windows from some applications, such as guake, are created as showing on
all workspaces. When these windows are put on the workspaces via
set_workspace_state() during construction, the first time the window is
added to a workspace in the loop triggers the shell app tracker which
then tries to move the window to its startup workspace. This makes the
window unsticky which triggers another set_workspace_state() which
tries to remove the window from all workspaces, but currently it is only
on the first one and then adds it to the startup workspace. Once that is
finished, the first set_workspace_state() continues adding the window
to the remaining workspaces, despite the window now no longer having
on_all_workspaces set to true.

When the window is now unmanaged, the window according to its internal
state is only found on the startup workspace, so it will only be removed
from that. This causes the assertion to fail that checks that the window
is no longer present on any workspace after this.

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4720

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2014>
(cherry picked from commit bc32a52108)
2021-11-02 15:38:54 +01:00
..
calendar-server calendar-server: Fix double-free detection abort 2021-05-18 23:06:50 +00:00
hotplug-sniffer hotplug-sniffer: Drop "volatile" from g_once_init_enter() sentinels 2021-03-22 11:12:23 +00:00
st Revert "st: Only use clutter_actor_invalidate_paint_volume() if the API exists" 2021-11-02 15:38:35 +01:00
tray *: Fix spelling mistakes found by codespell 2020-08-21 18:25:09 +00:00
data-to-c.pl
gnome-shell-extension-prefs Add small gnome-shell-extension-prefs script 2020-04-28 00:06:19 +02:00
gnome-shell-extension-tool.in
gnome-shell-perf-tool.in *: Fix spelling mistakes found by codespell 2020-08-21 18:25:09 +00:00
gnome-shell-plugin.c init: Set console log domain 2021-09-01 14:55:47 +00:00
gnome-shell-portal-helper.c
gtkactionmuxer.c Stop using GSlice 2020-10-19 20:18:11 +02:00
gtkactionmuxer.h Also update gtkaction* 2014-01-09 14:59:31 -05:00
gtkactionobservable.c
gtkactionobservable.h
gtkactionobserver.c
gtkactionobserver.h
main.c main: Take over setting signal handlers and changing dir 2021-07-15 12:42:17 +00:00
meson.build shell: Drop dependency on ClutterX11 headers/gir 2021-06-29 22:47:41 +00:00
org.gtk.Application.xml
run-js-test.c
shell-action-modes.h *: Fix spelling mistakes found by codespell 2020-08-21 18:25:09 +00:00
shell-app-cache-private.h app-cache: add ShellAppCache for GAppInfo caching 2020-03-11 18:06:15 -07:00
shell-app-cache.c Stop using GSlice 2020-10-19 20:18:11 +02:00
shell-app-private.h
shell-app-system-private.h
shell-app-system.c app-cache: add ShellAppCache for GAppInfo caching 2020-03-11 18:06:15 -07:00
shell-app-system.h
shell-app-usage.c
shell-app-usage.h
shell-app.c shell/app: Don't move all workspace windows to their startup workspace 2021-11-02 15:38:54 +01:00
shell-app.h shell/app: Add new get_icon() method 2020-07-01 12:42:57 +02:00
shell-blur-effect.c blur-effect: Don't use stage view when drawing off-stage 2021-02-15 13:17:08 +01:00
shell-blur-effect.h blur-effect: Use sigma value instead of blur radius 2020-02-12 11:10:38 -03:00
shell-embedded-window-private.h
shell-embedded-window.c shell: Drop dependency on ClutterX11 headers/gir 2021-06-29 22:47:41 +00:00
shell-embedded-window.h
shell-global-private.h
shell-global.c src/shell: Plug some small leaks 2021-08-13 15:16:54 +02:00
shell-global.h shell: Drop shell_global_sync_pointer() 2021-02-14 13:57:56 +00:00
shell-glsl-effect.c Always assume GLSL is supported 2021-09-21 16:37:01 +02:00
shell-glsl-effect.h
shell-gtk-embed.c Remove ClutterAllocationFlags 2020-05-20 15:12:03 +02:00
shell-gtk-embed.h
shell-invert-lightness-effect.c Always assume GLSL is supported 2021-09-21 16:37:01 +02:00
shell-invert-lightness-effect.h
shell-keyring-prompt.c
shell-keyring-prompt.h
shell-mount-operation.c *: Fix spelling mistakes found by codespell 2020-08-21 18:25:09 +00:00
shell-mount-operation.h
shell-network-agent.c shell/network-agent: Add method to add VPN secrets to agent response 2020-12-25 11:43:13 +01:00
shell-network-agent.h shell/network-agent: Add method to add VPN secrets to agent response 2020-12-25 11:43:13 +01:00
shell-perf-helper.c perf-helper: Remove unused atoms 2019-12-05 16:51:00 +01:00
shell-perf-log.c src/shell: Plug some small leaks 2021-08-13 15:16:54 +02:00
shell-perf-log.h
shell-polkit-authentication-agent.c
shell-polkit-authentication-agent.h
shell-screenshot.c screenshot: Fix slow audiovisual feedback on when taking screenshot 2021-02-11 18:51:40 +00:00
shell-screenshot.h
shell-secure-text-buffer.c
shell-secure-text-buffer.h
shell-square-bin.c iconGrid: Subclass a C actor for BaseIcon 2021-03-13 22:13:25 +00:00
shell-square-bin.h iconGrid: Subclass a C actor for BaseIcon 2021-03-13 22:13:25 +00:00
shell-stack.c Remove ClutterAllocationFlags 2020-05-20 15:12:03 +02:00
shell-stack.h
shell-tray-icon.c
shell-tray-icon.h
shell-tray-manager.c shell: Drop dependency on ClutterX11 headers/gir 2021-06-29 22:47:41 +00:00
shell-tray-manager.h shell/tray-manager: Allow to unmanage screen 2020-03-06 18:45:21 +00:00
shell-util.c shell/util: Remove get_content_for_window_actor() 2021-09-04 12:10:51 +02:00
shell-util.h shell/util: Remove get_content_for_window_actor() 2021-09-04 12:10:51 +02:00
shell-window-preview-layout.c Move WindowPreviewLayout from JS to C 2021-03-09 15:40:49 +00:00
shell-window-preview-layout.h Move WindowPreviewLayout from JS to C 2021-03-09 15:40:49 +00:00
shell-window-preview.c windowPreview: Subclass a C actor 2021-03-09 15:40:49 +00:00
shell-window-preview.h windowPreview: Subclass a C actor 2021-03-09 15:40:49 +00:00
shell-window-tracker-private.h
shell-window-tracker.c shell/window-tracker: Tighten sandbox ID prefix check 2020-07-08 12:23:10 +02:00
shell-window-tracker.h
shell-wm-private.h
shell-wm.c ui: Add InhibitShortcutsDialog 2017-08-02 11:27:42 +01:00
shell-wm.h