diff --git a/src/kuiserverjobtracker.cpp b/src/kuiserverjobtracker.cpp --- a/src/kuiserverjobtracker.cpp +++ b/src/kuiserverjobtracker.cpp @@ -43,6 +43,8 @@ void _k_killJob(); + static void updateDestUrl(KJob *job, org::kde::JobViewV2 *jobView); + QHash progressJobView; }; @@ -59,6 +61,14 @@ } } +void KUiServerJobTracker::Private::updateDestUrl(KJob *job, org::kde::JobViewV2 *jobView) +{ + const QVariant destUrl = job->property("destUrl"); + if (destUrl.isValid()) { + jobView->setDestUrl(QDBusVariant(destUrl)); + } +} + KUiServerJobTracker::KUiServerJobTracker(QObject *parent) : KJobTrackerInterface(parent), d(new Private(this)) { @@ -114,10 +124,7 @@ QObject::connect(jobView, &org::kde::JobViewV2::resumeRequested, job, &KJob::resume); - QVariant destUrl = job->property("destUrl"); - if (destUrl.isValid()) { - jobView->setDestUrl(QDBusVariant(destUrl)); - } + d->updateDestUrl(job, jobView); if (!jobWatch) { //qCDebug(KJOBWIDGETS) << "deleted out from under us when creating the dbus interface"; @@ -146,6 +153,8 @@ org::kde::JobViewV2 *jobView = d->progressJobView.take(job); + d->updateDestUrl(job, jobView); + jobView->setError(job->error()); if (job->error()) { @@ -165,6 +174,8 @@ org::kde::JobViewV2 *jobView = d->progressJobView.take(job); + d->updateDestUrl(job, jobView); + jobView->setError(job->error()); if (job->error()) {