Fix crash when dropping ShellManager
ClosedPublic

Authored by apol on Aug 5 2019, 1:45 PM.

Details

Summary

The corona needs to be closed earlier.

Test Plan

Now we don't hit the race-condition when closing

Diff Detail

Repository
R120 Plasma Workspace
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
apol created this revision.Aug 5 2019, 1:45 PM
Restricted Application added a project: Plasma. · View Herald TranscriptAug 5 2019, 1:45 PM
Restricted Application added a subscriber: plasma-devel. · View Herald Transcript
apol requested review of this revision.Aug 5 2019, 1:45 PM
mart accepted this revision.Aug 5 2019, 3:59 PM
This revision is now accepted and ready to land.Aug 5 2019, 3:59 PM
This revision was automatically updated to reflect the committed changes.
ndavis added a subscriber: ndavis.Aug 5 2019, 9:31 PM

This stops Plasmashell from segfaulting, but now it exits (code 1) with this message every other time plasmashell --replace & is run:

org.kde.kactivities.lib.core: Killing the consumer
org.kde.kactivities.lib.core: Killing the consumer
org.kde.kactivities.lib.core: Killing the consumer
Closing SQL connection:  "kactivities_db_resources_140660103657600_readonly"
org.kde.kactivities.lib.core: Killing the consumer
file:///home/noah/kde/usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/global/Globals.qml:74:5: Unable to assign [undefined] to QObject*
libkcups: Cancel-Subscription last error: 0 successful-ok
libkcups: Create-Printer-Subscriptions last error: 0 successful-ok
libkcups: Cancel-Subscription last error: 0 successful-ok
org.kde.kactivities.lib.core: Killing the consumer
org.kde.kactivities.lib.core: Killing the consumer
org.kde.kactivities.lib.core: Killing the consumer
QObject::connect(AppletsLayout, PlaceHolder_QMLTYPE_67): invalid null parameter
QObject::connect(AppletsLayout, AppletContainer): invalid null parameter
QObject::connect(AppletsLayout, AppletContainer): invalid null parameter
trying to show an empty dialog
org.kde.kactivities.lib.core: Killing the consumer
"No such object path '/org/kde/plasmashell'"

[2]  + 30522 exit 1     plasmashell --replace

[1]  + 30496 done       plasmashell --replace #This is the process for the 1st run
ndavis added a comment.Aug 6 2019, 2:37 AM

Ah, thanks.