Skip to content

Replacing QFuture/QtConcurrent with std::future/async.

Trageser requested to merge issue119 into main

This replaces QFuture/QtConcurrent with std::future/async. Further this adds try/catch environments around those structures. If one of those threads breaks it will be caught and ran again on main thread.

Some more details:

  • the try/catch environment is around each single std::async. This ensures that only those thread are ran on main thread which broke
  • There is a bigger picture: Due to custom libqcr message handler MessageBoxes will be created when qDebug() etc are called, which can happen inside of the thread functions. Previous this was a hard to catch error and now this error will be caught and the program continues to work.

Related Issues #89 (closed) for Steca and Issue #7 (closed) and MR 25

Merge request reports