Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix Startup infinite await #2006

Merged
merged 3 commits into from May 15, 2023
Merged

Conversation

3v1n0
Copy link
Collaborator

@3v1n0 3v1n0 commented May 15, 2023

Especially under X11 we may get "monitors-changed" event while the startup animation is in progress, while some of them were addressed by !2269 (merged), we still have an issue happening:

GNOME shell is preparing the animation and awaiting for bg changes
Monitors are changed, during this phase we destroy the current background managers
=> The "loaded" signals we were waiting for, won't ever happen

This implies that we are stuck in await this._updateBackgrounds(); and thus we keep staying in broken mode.

Ubuntu issue is https://bugs.launchpad.net/ubuntu/+source/gnome-shell-extension-ubuntu-dock/+bug/2019751 it can be simulated with https://gitlab.gnome.org/3v1n0/gnome-shell/-/snippets/5749

Similar to https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2763 but on the dock side

3v1n0 added 3 commits May 15, 2023 19:12
There's no need to keep our injected methods and signal connections
around when the startup animation has completed.
…mation

During startup animation the shell may receive a monitors-changed event,
in this case the startup animation events are never triggered because
the background loaded signal is never emitted.

To prevent this, re-implement the update background code during the
layout _prepareStartupAnimation so that we can catch monitor update
events and react accordingly.

See: https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2763

LP: #2019751
@3v1n0 3v1n0 force-pushed the startup-infinite-await-fix branch from 335cf4f to bf1ace6 Compare May 15, 2023 19:00
@3v1n0 3v1n0 merged commit dfc515a into micheleg:master May 15, 2023
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant