summaryrefslogtreecommitdiffstats
path: root/src/libs/installer/elevatedexecuteoperation.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/installer/elevatedexecuteoperation.cpp')
-rw-r--r--src/libs/installer/elevatedexecuteoperation.cpp18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/libs/installer/elevatedexecuteoperation.cpp b/src/libs/installer/elevatedexecuteoperation.cpp
index 0aa8c101d..d797f2077 100644
--- a/src/libs/installer/elevatedexecuteoperation.cpp
+++ b/src/libs/installer/elevatedexecuteoperation.cpp
@@ -54,7 +54,9 @@ class ElevatedExecuteOperation::Private
{
public:
explicit Private(ElevatedExecuteOperation *qq)
- : q(qq), process(0), showStandardError(false)
+ : q(qq)
+ , process(0)
+ , showStandardError(false)
{
}
@@ -202,7 +204,8 @@ bool ElevatedExecuteOperation::Private::run(const QStringList &arguments)
if (!success) {
q->setError(UserDefinedError);
//TODO: pass errorString() through the wrapper */
- q->setErrorString(tr("Execution failed: Could not start: \"%1\"").arg(callstr));
+ q->setErrorString(tr("Execution failed: Could not start: \"%1\"(%2)").arg(callstr,
+ process->errorString()));
returnValue = false;
}
@@ -229,6 +232,12 @@ bool ElevatedExecuteOperation::Private::run(const QStringList &arguments)
} else {
q->setErrorString(customErrorMessage);
}
+
+ QByteArray standardErrorOutput = process->readAllStandardError();
+ // in error case it would be useful to see something in verbose output
+ if (!standardErrorOutput.isEmpty())
+ qWarning() << standardErrorOutput;
+
returnValue = false;
}
@@ -257,7 +266,10 @@ void ElevatedExecuteOperation::Private::readProcessOutput()
}
const QByteArray output = process->readAll();
if (!output.isEmpty()) {
- qDebug() << output;
+ if (q->error() == UserDefinedError)
+ qWarning() << output;
+ else
+ qDebug() << output;
emit q->outputTextChanged(QString::fromLocal8Bit(output));
}
}