Hello community, here is the log from the commit of package kded for openSUSE:Factory checked in at 2016-02-24 18:54:11 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kded (Old) and /work/SRC/openSUSE:Factory/.kded.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kded" Changes: -------- --- /work/SRC/openSUSE:Factory/kded/kded.changes 2016-01-20 09:42:21.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.kded.new/kded.changes 2016-02-24 18:54:13.000000000 +0100 @@ -1,0 +2,9 @@ +Sat Feb 6 18:00:43 UTC 2016 - [email protected] + +- Update to 5.19.0 (boo#967668) + * Revert BlockingQueuedConnection hack, Qt 5.6 will contain a better fix + * Make kded register under aliases specified by the kded modules + * For more details please see: + https://www.kde.org/announcements/kde-frameworks-5.19.0.php + +------------------------------------------------------------------- Old: ---- kded-5.18.0.tar.xz New: ---- kded-5.19.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kded.spec ++++++ --- /var/tmp/diff_new_pack.kyBYVk/_old 2016-02-24 18:54:14.000000000 +0100 +++ /var/tmp/diff_new_pack.kyBYVk/_new 2016-02-24 18:54:14.000000000 +0100 @@ -17,9 +17,9 @@ %bcond_without lang -%define _tar_path 5.18 +%define _tar_path 5.19 Name: kded -Version: 5.18.0 +Version: 5.19.0 Release: 0 %define kf5_version %{version} BuildRequires: cmake >= 2.8.12 ++++++ kded-5.18.0.tar.xz -> kded-5.19.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kded-5.18.0/CMakeLists.txt new/kded-5.19.0/CMakeLists.txt --- old/kded-5.18.0/CMakeLists.txt 2016-01-02 17:29:41.000000000 +0100 +++ new/kded-5.19.0/CMakeLists.txt 2016-02-06 14:41:15.000000000 +0100 @@ -3,7 +3,7 @@ project(KDED) include(FeatureSummary) -find_package(ECM 5.18.0 NO_MODULE) +find_package(ECM 5.19.0 NO_MODULE) set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://projects.kde.org/projects/kdesupport/extra-cmake-modules") feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) @@ -13,11 +13,11 @@ find_package(Qt5 "${REQUIRED_QT_VERSION}" CONFIG REQUIRED DBus Widgets) include(KDEInstallDirs) -include(KDEFrameworkCompilerSettings) +include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE) include(KDECMakeSettings) -set(KF5_VERSION "5.18.0") # handled by release scripts -set(KF5_DEP_VERSION "5.18.0") # handled by release scripts +set(KF5_VERSION "5.19.0") # handled by release scripts +set(KF5_DEP_VERSION "5.19.0") # handled by release scripts find_package(KF5Config ${KF5_DEP_VERSION} REQUIRED) find_package(KF5CoreAddons ${KF5_DEP_VERSION} REQUIRED) find_package(KF5Crash ${KF5_DEP_VERSION} REQUIRED) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kded-5.18.0/docs/HOWTO new/kded-5.19.0/docs/HOWTO --- old/kded-5.18.0/docs/HOWTO 2016-01-02 17:29:41.000000000 +0100 +++ new/kded-5.19.0/docs/HOWTO 2016-02-06 14:41:15.000000000 +0100 @@ -1,8 +1,7 @@ HOWTO Make KDED Modules ======================= -A KDED module implementation looks similar to a KControl module. -A module is loaded when a call is made to it. +A KDED module is loaded when a call is made to it. KDED modules should not be added if it is avoidable because (especially when new) they endanger the stability of KDED and its other modules which provide important services. There are other ways to achieve what a KDED @@ -11,10 +10,8 @@ information that, for some reason, cannot be kept in any other process. Here are examples of KDED modules: - kdelibs/kioslave/http/kcookiejar/kcookieserver.cpp Cookie-handling module (including GUI) - kdelibs/kio/misc/kwalletd/kwalletd.cpp KWallet module, handles the wallet file - kdebase/apps/lib/konq/favicons/favicons.cpp Favicons module, for downloading favicon.ico files when browsing - kdebase/runtime/kpasswdserver/kpasswdserver.cpp Password-caching module + frameworks/baloo/src/kioslaves/kded/baloosearchmodule.cpp Baloo search module + kde/workspace/khotkeys/app/kded.cpp KHotKeys A KDED module should install a .desktop file with ServicesTypes=KDEDModule diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kded-5.18.0/src/kded.cpp new/kded-5.19.0/src/kded.cpp --- old/kded-5.18.0/src/kded.cpp 2016-01-02 17:29:41.000000000 +0100 +++ new/kded-5.19.0/src/kded.cpp 2016-02-06 14:41:15.000000000 +0100 @@ -34,6 +34,7 @@ #include <QApplication> #include <QDBusConnection> +#include <QDBusConnectionInterface> #include <QDBusInterface> #include <QDBusServiceWatcher> #include <QDBusPendingCall> @@ -140,14 +141,7 @@ return; } -#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0) - // messageFilter runs in a secondary thread since Qt 5.6, so we use invokeMethod - // to load the module in the main thread. But we need to block so that the object - // can then process the message. - QMetaObject::invokeMethod(self(), "loadModule", Qt::BlockingQueuedConnection, Q_ARG(QString, obj), Q_ARG(bool, true)); -#else self()->loadModule(obj, true); -#endif } static int phaseForModule(const KPluginMetaData &module) @@ -711,6 +705,21 @@ KDBusService service(KDBusService::Unique); + QDBusConnectionInterface *bus = QDBusConnection::sessionBus().interface(); + // Also register as all the names we should respond to (org.kde.kcookiejar, org.kde.khotkeys etc.) + // so that the calling code is independent from the physical "location" of the service. + const QVector<KPluginMetaData> plugins = KPluginLoader::findPlugins(QStringLiteral("kf5/kded")); + foreach (const KPluginMetaData &metaData, plugins) { + const QString serviceName = metaData.rawData().value(QStringLiteral("X-KDE-DBus-ServiceName")).toString(); + if (serviceName.isEmpty()) { + qCWarning(KDED) << "No X-KDE-DBus-ServiceName found in" << metaData.fileName(); + continue; + } + if (!bus->registerService(serviceName)) { + qCWarning(KDED) << "Couldn't register name" << serviceName << "with DBUS - another process owns it already!"; + } + } + KSharedConfig::Ptr config = KSharedConfig::openConfig(); KConfigGroup cg(config, "General");
