https://bugs.kde.org/show_bug.cgi?id=193908

--- Comment #155 from Elvis Angelaccio <[email protected]> ---
Git commit 074d52778f68c2b1456ba54633bace8e366667cb by Elvis Angelaccio.
Committed on 30/04/2016 at 11:02.
Pushed by elvisangelaccio into branch 'master'.

Don't block the main thread while running CliInterface jobs

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.
Related: bug 222392
FIXED-IN: 16.08.0

Differential Revision: D1510

M  +4    -8    kerfuffle/archiveinterface.h
M  +116  -86   kerfuffle/cliinterface.cpp
M  +13   -3    kerfuffle/cliinterface.h
M  +0    -1    part/jobtracker.cpp
M  +0    -1    plugins/cliunarchiverplugin/cliplugin.cpp

http://commits.kde.org/ark/074d52778f68c2b1456ba54633bace8e366667cb

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to