Skip to content
  • Elvis Angelaccio's avatar
    Don't block the main thread while running CliInterface jobs · 074d5277
    Elvis Angelaccio authored
    Currently we freeze the GUI thread while running CliInterface jobs,
    because there is a nested event loop in runProcess(),
    which doesn't run anymore in a separate thread.
    
    We can simply drop this event loop and rework the CliInterface logic,
    such that the emit signal is not emitted anymore when runProcess() returns,
    but in processFinished() instead.
    
    This exposed a crash when closing the main window while a pending job was
    running. The fix is simply to not emit finished() if the m_abortingOperation
    flag is set.
    
    BUG: 222392
    FIXED-IN: 16.08.0
    
    CCBUG: 193908
    
    Differential Revision: D1510
    074d5277