diff --git a/src/lib/jobs/kjob.cpp b/src/lib/jobs/kjob.cpp --- a/src/lib/jobs/kjob.cpp +++ b/src/lib/jobs/kjob.cpp @@ -96,6 +96,13 @@ void KJob::finishJob(bool emitResult) { Q_D(KJob); + + // Avoid finishing what is already finished + Q_ASSERT(!d->isFinished); // To detect the origin of the double finish + if (d->isFinished) { + return; + } + d->isFinished = true; if (d->eventLoop) {