broulik added a comment.
Also can you split the crash fix and `--replace` option change please INLINE COMMENTS > main.cpp:136 > corona->setShell(cliOptions.value(shellPluginOption)); > + QObject::connect(QCoreApplication::instance(), > &QCoreApplication::aboutToQuit, corona, &QObject::deleteLater); > Can you explain? The `ShellCorona` is parented to the app, so is destroyed with it. Is the `deleteLater` even still processed at this point? > main.cpp:182 > + > + while > (QDBusConnection::sessionBus().interface()->isServiceRegistered(QStringLiteral("org.kde.plasmashell"))) > { > + QCoreApplication::processEvents(QEventLoop::AllEvents); So this will just eat CPU until the other process quit? Can we register `org.kde.plasmashell` service with `AllowReplace` flag so the new process can just take over? REPOSITORY R120 Plasma Workspace REVISION DETAIL https://phabricator.kde.org/D22945 To: apol Cc: broulik, plasma-devel, LeGast00n, jraleigh, fbampaloukas, GB_2, ragreen, Pitel, ZrenBot, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart