diff options
Diffstat (limited to 'kde-frameworks/knotifications/files')
-rw-r--r-- | kde-frameworks/knotifications/files/knotifications-5.34.0-no-block-notification.patch | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/kde-frameworks/knotifications/files/knotifications-5.34.0-no-block-notification.patch b/kde-frameworks/knotifications/files/knotifications-5.34.0-no-block-notification.patch deleted file mode 100644 index 2d1ae95af5fb..000000000000 --- a/kde-frameworks/knotifications/files/knotifications-5.34.0-no-block-notification.patch +++ /dev/null @@ -1,101 +0,0 @@ -From 1c97e1d9741fd15962474f47932dd09728dae76b Mon Sep 17 00:00:00 2001 -From: David Edmundson <kde@davidedmundson.co.uk> -Date: Fri, 28 Jul 2017 13:04:50 +0100 -Subject: [PATCH] Don't block starting notification service - -Summary: -We don't need to manually start the DBus service. -It blocks the calling app, and dbusServiceExists means that we will -always end up going the DBus route over a popup anyway, so it won't -do anything useful. - -The service (in the plasma case plasma-wait-for-name) will be started -automatically when we actually send the notification. - -Also fix d-dbusServiceExists being cleared to false when the first -service owner exits. - -BUG: 382444 - -Subscribers: #frameworks - -Tags: #frameworks - -Differential Revision: https://phabricator.kde.org/D6963 ---- - src/notifybypopup.cpp | 28 +++++++++++----------------- - 1 file changed, 11 insertions(+), 17 deletions(-) - -diff --git a/src/notifybypopup.cpp b/src/notifybypopup.cpp -index 735d52b..4f244e1 100644 ---- a/src/notifybypopup.cpp -+++ b/src/notifybypopup.cpp -@@ -109,6 +109,9 @@ public: - * Specifies if DBus Notifications interface exists on session bus - */ - bool dbusServiceExists; -+ -+ bool dbusServiceActivatable; -+ - /** - * DBus notification daemon capabilities cache. - * Do not use this variable. Use #popupServerCapabilities() instead. -@@ -161,6 +164,7 @@ NotifyByPopup::NotifyByPopup(QObject *parent) - { - d->animationTimer = 0; - d->dbusServiceExists = false; -+ d->dbusServiceActivatable = false; - d->dbusServiceCapCacheDirty = true; - d->nextPosition = -1; - -@@ -180,32 +184,20 @@ NotifyByPopup::NotifyByPopup(QObject *parent) - connect(watcher, SIGNAL(serviceOwnerChanged(QString,QString,QString)), - SLOT(onServiceOwnerChanged(QString,QString,QString))); - -+#ifndef Q_WS_WIN - if (!d->dbusServiceExists) { -- bool startfdo = false; --#ifdef Q_WS_WIN -- startfdo = true; --#else - QDBusMessage message = QDBusMessage::createMethodCall(QStringLiteral("org.freedesktop.DBus"), - QStringLiteral("/org/freedesktop/DBus"), - QStringLiteral("org.freedesktop.DBus"), - QStringLiteral("ListActivatableNames")); -- -- // FIXME - this should be async - QDBusReply<QStringList> reply = QDBusConnection::sessionBus().call(message); - if (reply.isValid() && reply.value().contains(dbusServiceName)) { -- startfdo = true; -- // We need to set d->dbusServiceExists to true because dbus might be too slow -- // starting the service and the first call to NotifyByPopup::notify -- // might not have had the service up, by setting this to true we -- // guarantee it will still go through dbus and dbus will do the correct -- // thing and wait for the service to go up -+ d->dbusServiceActivatable = true; -+ //if the service is activatable, we can assume it exists even if it is not currently running - d->dbusServiceExists = true; - } --#endif -- if (startfdo) { -- QDBusConnection::sessionBus().interface()->startService(dbusServiceName); -- } - } -+#endif - } - - -@@ -439,7 +431,9 @@ void NotifyByPopup::onServiceOwnerChanged(const QString &serviceName, const QStr - - if (newOwner.isEmpty()) { - d->notificationQueue.clear(); -- d->dbusServiceExists = false; -+ if (!d->dbusServiceActivatable) { -+ d->dbusServiceExists = false; -+ } - } else if (oldOwner.isEmpty()) { - d->dbusServiceExists = true; - --- -2.13.5 - |