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

Reply via email to