D10405: Don't proceed in runCommandInternal if the executable doesn't exit
Eike Hein
noreply at phabricator.kde.org
Fri Feb 9 13:52:44 UTC 2018
hein created this revision.
hein added reviewers: dfaure, davidedmundson, mart.
Restricted Application added a project: Frameworks.
Restricted Application added a subscriber: Frameworks.
hein requested review of this revision.
REVISION SUMMARY
Without this patch, runCommandInternal tries running first and
handles a missing executable in slotProcessExited after process
execution ended with a non-zero exit code.
One of the side-effects is that a startup notification is created
even if nothing is ultimately run.
With this patch, we check for executable existence first and
abort if we can't find it.
This fixes a Plasma shell crash in the Task Manager applet: We
use KRun from inside the onReleased handler of a MouseArea. In
this error case this leads to a KMessageBox spinning the event
loop. The delegate hosting the MouseArea is in the meanwhile
deleted because it's replaced by a different one for the startup
creation. After closing the dialog we're back in the destroyed
delegate and crash.
BUG:385942
REPOSITORY
R241 KIO
BRANCH
master
REVISION DETAIL
https://phabricator.kde.org/D10405
AFFECTED FILES
src/core/kprotocolinfofactory.cpp
src/widgets/jobuidelegate.cpp
src/widgets/jobuidelegate.h
src/widgets/krun.cpp
To: hein, dfaure, davidedmundson, mart
Cc: #frameworks, michaelh, ngraham
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20180209/9e2eeba8/attachment.html>
More information about the Kde-frameworks-devel
mailing list