[ksmserver] Remove blocking call introspecting KDED

Summary:
We don't need to introspect at runtime as KDED installs the interface
XML file.

Oddly KDED's package is called KDED not KF5KDED, hence the separate
find_package, I don't know if that's a bug in frameworks or not.

Test Plan: Compiles

Reviewers: #plasma, romangg

Reviewed By: #plasma, romangg

Subscribers: plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D16628
wilder-broken-krunner
David Edmundson 7 years ago
parent 008d58cfc6
commit c8ed48fc1a
  1. 2
      CMakeLists.txt
  2. 1
      ksmserver/CMakeLists.txt
  3. 9
      ksmserver/startup.cpp

@ -27,6 +27,8 @@ find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS
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

@ -33,6 +33,7 @@ set(kcminit_xml ${CMAKE_CURRENT_BINARY_DIR}/org.kde.KCMinit.xml)
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.

@ -41,6 +41,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include <ksmserver_debug.h>
#include "kcminit_interface.h"
#include "kded_interface.h"
#include <klauncher_interface.h>
#include <KCompositeJob>
@ -254,10 +255,10 @@ KDEDInitJob::KDEDInitJob()
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();});

Loading…
Cancel
Save