https://bugs.kde.org/show_bug.cgi?id=377808
Kai Uwe Broulik <k...@privat.broulik.de> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|plasma-b...@kde.org |aleix...@kde.org Ever confirmed|0 |1 Component|generic-wayland |Multi-screen support CC| |plasma-b...@kde.org Status|UNCONFIRMED |CONFIRMED Severity|normal |crash --- Comment #8 from Kai Uwe Broulik <k...@privat.broulik.de> --- I can reproduce: 1.) have two screens, calling it Left and Right here. Make Left the primary. 2.) quit plasmashell 3.) now unplug the cable for Left, kscreen will remove the screen and Right will become primary 4.) start plasmashell (it is important that plasmashell started with one screen only, otherwise it works fine, ie. just plugging it out and back in is fine) 5.) plug the cable back in, kscreen will restore the previous screen config, leading to Left becoming primary again 6.) boom >From what I can tell, crashes in shellcorona.cpp:730 QScreen *oldPrimary = m_desktopViewforId.value(0)->screen(); It calls reconsiderOutputs() which might remove and delete a view (at one point we only have one in the above scenario), so m_desktopViewforId is now empty, afterwards we do m_desktopViewforId.value(0)->screen() which returns a nullptr and we crash. I tried doing moving reconsiderOutputs() first and then check if m_desktopViewForId.contains(0), while it won't crash anymore it also resulted in views and panels being messed up. It seems we need to be able to deal with m_desktopViewForId being empty and oldScreen being nullptr (this variable is used a couple of times in that function, actually, so might be again Pandora's box to fix :/) (also crashes on X11, re-assigning to "Multi Screen") -- You are receiving this mail because: You are watching all bug changes.