QCoreApplication::closingDown() becomes true too late
restore the disconnect: sometimes appletRemovedForward gets executed after aboutToQuit is emitted, but before closingDown returns true this prevents configuration to be forgotten
This commit is contained in:
parent
a5ecb2e0ff
commit
9218543b65
@ -90,6 +90,15 @@ ContainmentInterface::ContainmentInterface(DeclarativeAppletScript *parent, cons
|
||||
if (!m_appletInterfaces.isEmpty()) {
|
||||
emit appletsChanged();
|
||||
}
|
||||
|
||||
connect(QCoreApplication::instance(), &QCoreApplication::aboutToQuit,
|
||||
[=]() {
|
||||
if (!m_containment) {
|
||||
return;
|
||||
}
|
||||
disconnect(m_containment.data(), &Plasma::Containment::appletRemoved,
|
||||
this, &ContainmentInterface::appletRemovedForward);
|
||||
});
|
||||
}
|
||||
|
||||
void ContainmentInterface::init()
|
||||
@ -574,10 +583,6 @@ void ContainmentInterface::appletAddedForward(Plasma::Applet *applet)
|
||||
|
||||
void ContainmentInterface::appletRemovedForward(Plasma::Applet *applet)
|
||||
{
|
||||
if (QCoreApplication::closingDown()) {
|
||||
return;
|
||||
}
|
||||
|
||||
QObject *appletGraphicObject = applet->property("_plasma_graphicObject").value<QObject *>();
|
||||
m_appletInterfaces.removeAll(appletGraphicObject);
|
||||
emit appletRemoved(appletGraphicObject);
|
||||
|
Loading…
x
Reference in New Issue
Block a user