diff --git a/src/backends/lua/luaexpression.h b/src/backends/lua/luaexpression.h --- a/src/backends/lua/luaexpression.h +++ b/src/backends/lua/luaexpression.h @@ -36,6 +36,7 @@ void evaluate(); void interrupt(); void parseOutput(QString& output); + void parseError(QString& error); }; diff --git a/src/backends/lua/luaexpression.cpp b/src/backends/lua/luaexpression.cpp --- a/src/backends/lua/luaexpression.cpp +++ b/src/backends/lua/luaexpression.cpp @@ -58,6 +58,13 @@ currentSession->runExpression(this); } +void LuaExpression::parseError(QString &error) +{ + qDebug() << error; + setErrorMessage(error); + setStatus(Error); +} + void LuaExpression::parseOutput(QString &output) { output.replace(command(), QLatin1String("")); diff --git a/src/backends/lua/luasession.cpp b/src/backends/lua/luasession.cpp --- a/src/backends/lua/luasession.cpp +++ b/src/backends/lua/luasession.cpp @@ -108,7 +108,13 @@ void LuaSession::readError() { - qDebug() << m_process->readAllStandardError() << endl; + qDebug() << "readError"; + QString error = QString::fromLocal8Bit(m_process->readAllStandardError()); + if (!m_currentExpression || error.isEmpty()) + { + return; + } + m_currentExpression->parseError(error); } void LuaSession::processStarted()