https://bugs.kde.org/show_bug.cgi?id=492889

--- Comment #12 from Parag W <parag.l...@gmail.com> ---
Ran plasmashell via gdb and added a breakpoint on
ShellCorona::panelContainmentDestroyed - 

1588       const auto view = m_panelViews.take(cont);
(gdb) s
QMap<Plasma::Containment const*, PanelView*>::take (this=0x555555b14c38,
key=<synthetic pointer>: 0x5555569d3870)
    at /usr/include/qt6/QtCore/qmap.h:323
323            if (!d)
(gdb) p this
$2 = (QMap<Plasma::Containment const*, PanelView*> * const) 0x555555b14c38
(gdb) p *this
$3 = {d = {d = 0x0}}
(gdb) p m_panelViews
No symbol "m_panelViews" in current context.
(gdb) up
#1  ShellCorona::panelContainmentDestroyed (this=0x555555b14bb0,
obj=0x5555569d3870)
    at /data/kde/src/plasma-workspace/shell/shellcorona.cpp:1588
1588       const auto view = m_panelViews.take(cont);
(gdb) p m_panelViews
$4 = {d = {d = 0x0}}
(gdb) c
Continuing.
qt.core.qobject.connect: QObject::disconnect: Unexpected nullptr parameter

Basically every time ShellCorona::panelContainmentDestroyed is called view =
m_panelViews.take(cont) returns null - the view is null and calling disconnect
on null view results in  QObject::disconnect: Unexpected nullptr parameter

This doesn't crash because QMap::take saves us with the if (!d) check I guess.
But this code needs to be looked at - looks like the view vanishes from
m_panelViews before we hit panelContainmentDestroyed - here is a backtrace
leading up to that -

#0  ShellCorona::panelContainmentDestroyed (this=0x555555b14730,
obj=0x5555561b6460)
    at /data/kde/src/plasma-workspace/shell/shellcorona.cpp:1587
#1  0x00007ffff49a3397 in QtPrivate::QSlotObjectBase::call
    (this=0x555557902b50, r=0x555555b14730, a=0x7fffffffc6f0, this=<optimized
out>, r=<optimized out>, a=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs_impl.h:469
#2  doActivate<false> (sender=<optimized out>, signal_index=<optimized out>,
argv=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4086
#3  0x00007ffff4993fb1 in QObject::destroyed (this=<optimized out>,
_t1=<optimized out>)
    at /usr/src/debug/qt6-base/build/src/corelib/kernel/moc_qobject.cpp:229
#4  0x00007ffff77c39cd in Plasma::AppletPrivate::cleanUpAndDelete
(this=0x555555e8d4d0)
    at /data/kde/src/libplasma/src/plasma/private/applet_p.cpp:174
#5  0x00005555555ff3a7 in ShellCorona::unload (this=0x555555b14730)
    at /data/kde/src/plasma-workspace/shell/shellcorona.cpp:973
#6  0x00005555555de148 in ShellCorona::unload (this=0x555555b14730)
    at /data/kde/src/plasma-workspace/shell/shellcorona.cpp:698
#7  ShellCorona::loadLookAndFeelDefaultLayout (this=0x555555b14730,
packageName=<optimized out>)
    at /data/kde/src/plasma-workspace/shell/shellcorona.cpp:694

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to