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