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.

Reply via email to