https://bugs.kde.org/show_bug.cgi?id=516937
--- Comment #2 from Dobry <[email protected]> --- Updated patch attached (v2). After further review, the fix has one additional change vs. the original description: - checkAllDesktopsUiReady() also calls m_waitingPanels.removeAll(nullptr) before the isEmpty() check, preventing a spurious timer start if all remaining entries were already freed. - panelContainmentDestroyed() replaces the old m_waitingPanels branch with if (!m_panelViews.contains(cont)) return; — keeping the early-return structure but guarding on m_panelViews instead. This correctly handles both the startup case (no PanelView yet → QPointer handles cleanup) and the runtime case (PanelView exists → fall through to cleanup it). The original description's wording of the second bullet was slightly misleading. The "destroyed" connect in createWaitingPanels() is also kept (not removed) — it is still needed for runtime m_panelViews cleanup. All four changed sites: shellcorona.h, createWaitingPanels(), checkAllDesktopsUiReady(), panelContainmentDestroyed(), isScreenUiReady(). -- You are receiving this mail because: You are watching all bug changes.
