reliably close daemon and indicator when quitting on Windows and MacOS

This commit is contained in:
Piyush Aggarwal 2019-09-12 17:46:10 +00:00 committed by Albert Vaca Cintora
parent 5fd0d2327b
commit 342e572d90

View file

@ -60,7 +60,7 @@ int main(int argc, char** argv)
#ifdef Q_OS_MAC
// Unset launchctl env, avoid block
DBusHelper::macosUnsetLaunchctlEnv();
// Start kdeconnectd
QProcess kdeconnectdProcess;
if (QFile::exists(QCoreApplication::applicationDirPath() + QStringLiteral("/kdeconnectd"))) {
@ -151,8 +151,12 @@ int main(int argc, char** argv)
QStringLiteral("/MainApplication"),
QStringLiteral("org.qtproject.Qt.QCoreApplication"),
QStringLiteral("quit"));
DBusHelper::sessionBus().call(message);
QCoreApplication::quit(); // Close this application
DBusHelper::sessionBus().call(message, QDBus::NoBlock); // Close our daemon
message = QDBusMessage::createMethodCall(qApp->applicationName(),
QStringLiteral("/MainApplication"),
QStringLiteral("org.qtproject.Qt.QCoreApplication"),
QStringLiteral("quit"));
DBusHelper::sessionBus().call(message, QDBus::NoBlock); // Close our indicator
});
#endif
};