Skip to content
  • Bernhard Beschow's avatar
    instantiate event loops in runner plugins rather than in RunnerTask and... · 4957d88e
    Bernhard Beschow authored
    instantiate event loops in runner plugins rather than in RunnerTask and instantiate runners in background threads
    
    Instantiating the event loops in the runner plugins rather than in RunnerTask resolves weired usage of QEventLoop: The synchronous runners were finished before QEventLoop::exec() was called. Somehow the finished signal of the runners still managed to quit the loop, such that exec() wouldn't block. Until Qt 4.8 we might just have been lucky...
    
    Instantiating runners in the background thread avoids thread affinity issues wrt. to QEventLoop. In particular, QEventLoop instances would block a background thread forever because calling quit() or exit() wouldn't cause exec() to return.
    
    BUG: 288612
    FIXED-IN: 1.3.0
    REVIEW: 103711
    4957d88e