Skip to content
Commit 6452a34c authored by Jonathan Marten's avatar Jonathan Marten
Browse files

Fix service file specifying 'Run in terminal' giving an error code 100

Happens because KIO::DesktopExecParser::resultingArguments() prepends
the terminal application to the command line.  If this is a relative path,
as it is most likely to be (and will be in the default 'konsole' case),
the "realExecutable" check in KProcessRunner::KProcessRunner() is triggered
and the job aborts with an error.

Expand the specified terminal executable into a full path in resultingArguments(),
and return an error immediately if it cannot be found.  This full terminal path
is not relative for the KProcessRunner::KProcessRunner() check and does not fail.

Check that resultingArguments() is not empty (an error return) before accessing
the first word of the command, so that it does not assert if the list is empty.
Also only call resultingArguments() once.

BUG: 421374
FIXED-IN: 5.71

Differential Revision: https://phabricator.kde.org/D29738
parent 6da1d801
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment