diff options
Diffstat (limited to 'src/notificationmonitor.cpp')
-rw-r--r-- | src/notificationmonitor.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/notificationmonitor.cpp b/src/notificationmonitor.cpp index b0f66c9..566143f 100644 --- a/src/notificationmonitor.cpp +++ b/src/notificationmonitor.cpp @@ -34,12 +34,18 @@ NotificationMonitor *NotificationMonitor::instance() return global_monitor; } -void NotificationMonitor::Notify(const QString &app_name, uint replaces_id, const QString &app_icon, const QString &summary, const QString &body, const QStringList &actions, const QVariantHash &hints, int expire_timeout) +uint NotificationMonitor::Notify(const QString &app_name, uint replaces_id, const QString &app_icon, const QString &summary, const QString &body, const QStringList &actions, const QVariantHash &hints, int expire_timeout) { QIcon icon; qDebug() << "Got notification" << app_name << app_icon << summary << body; + // Avoid sending a reply for this method call, since we've received it + // because we're eavesdropping. + // The actual target of the method call will send the proper reply, not us. + Q_ASSERT(calledFromDBus()); + setDelayedReply(true); + if (app_icon.startsWith("/")) { icon = QIcon(app_icon); } else if (app_icon.startsWith("file:")) { @@ -50,4 +56,6 @@ void NotificationMonitor::Notify(const QString &app_name, uint replaces_id, cons } emit incomingNotification(app_name, icon, summary, body); + + return 0; } |