diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -27,6 +27,8 @@ Plasma DocTools Runner JsEmbed NotifyConfig Su NewStuff Wallet IdleTime Declarative TextWidgets KDELibs4Support Crash GlobalAccel DBusAddons Wayland CoreAddons) +find_package(KDED CONFIG REQUIRED) + find_package(KF5NetworkManagerQt ${KF5_MIN_VERSION}) set_package_properties(KF5NetworkManagerQt PROPERTIES DESCRIPTION "Qt wrapper for NetworkManager API" TYPE OPTIONAL diff --git a/ksmserver/CMakeLists.txt b/ksmserver/CMakeLists.txt --- a/ksmserver/CMakeLists.txt +++ b/ksmserver/CMakeLists.txt @@ -32,6 +32,7 @@ qt5_generate_dbus_interface( ${kcminit_adaptor} ${kcminit_xml} ) qt5_add_dbus_interface( ksmserver_KDEINIT_SRCS ${kcminit_xml} kcminit_interface ) +qt5_add_dbus_interface( ksmserver_KDEINIT_SRCS ${KDED_DBUS_INTERFACE} kded_interface ) # FIXME: This is actually not disabled any more because OrgKDEKlauncherInterface isn't provided # otherwise. diff --git a/ksmserver/startup.cpp b/ksmserver/startup.cpp --- a/ksmserver/startup.cpp +++ b/ksmserver/startup.cpp @@ -41,6 +41,7 @@ #include #include "kcminit_interface.h" +#include "kded_interface.h" #include #include @@ -254,10 +255,10 @@ void KDEDInitJob::start() { qCDebug(KSMSERVER()); - QDBusInterface kded( QStringLiteral( "org.kde.kded5" ), - QStringLiteral( "/kded" ), - QStringLiteral( "org.kde.kded5" ) ); - auto pending = kded.asyncCall( QStringLiteral( "loadSecondPhase" ) ); + org::kde::kded5 kded( QStringLiteral("org.kde.kded5"), + QStringLiteral("/kded"), + QDBusConnection::sessionBus()); + auto pending = kded.loadSecondPhase(); QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(pending, this); connect(watcher, &QDBusPendingCallWatcher::finished, this, [this]() {emitResult();});