diff --git a/libnotificationmanager/job_p.cpp b/libnotificationmanager/job_p.cpp index 22adc1d60..dcef521e4 100644 --- a/libnotificationmanager/job_p.cpp +++ b/libnotificationmanager/job_p.cpp @@ -265,6 +265,10 @@ void JobPrivate::finish() return; } + if (m_killTimer) { + m_killTimer->stop(); + } + Job *job = static_cast(parent()); // update timestamp job->resetUpdated(); diff --git a/libnotificationmanager/jobsmodel_p.cpp b/libnotificationmanager/jobsmodel_p.cpp index c1a4c6dc0..d3fed155e 100644 --- a/libnotificationmanager/jobsmodel_p.cpp +++ b/libnotificationmanager/jobsmodel_p.cpp @@ -482,15 +482,10 @@ void JobsModelPrivate::onServiceUnregistered(const QString &serviceName) if (job->state() == Notifications::JobStateStopped) { continue; } - job->setError(KIO::ERR_OWNER_DIED); - job->setErrorText(i18n("Application closed unexpectedly.")); - job->setState(Notifications::JobStateStopped); - - // basically JobPrivate::finish() - // update timestamp - job->resetUpdated(); - // when it was hidden in history, bring it up again - job->setDismissed(false); + + job->d->terminate(KIO::ERR_OWNER_DIED, + i18n("Application closed unexpectedly."), + {} /*hints*/); } Q_ASSERT(!m_serviceWatcher->watchedServices().contains(serviceName));