poboiko added a comment.
That doesn't looks like it works all the time: sometimes I still have this issue. Apparently, it still can happen that even when the process is finished, signal is emitted, but the thread is not finished yet. Also, it seems like due to `QueuedConnection`, `ExtractorProcess` can get removed before signal is processed, and because of that signal got lost. We can try something like that: connect(&process, &ExtractorProcess::finished, this, [this]{ QMetaObject::invokeMethod(this, "done", Qt::QueuedConnection); }); (so that `finished` signal is processed immediately, but the `done` signal is emitted queued). REPOSITORY R293 Baloo REVISION DETAIL https://phabricator.kde.org/D15959 To: poboiko, #baloo, #frameworks Cc: kde-frameworks-devel, ashaposhnikov, michaelh, astippich, spoorun, ngraham, bruns, abrahams