Commit latest bug fixes
[quick-widgets] / plugins / qmlprocess / ProcessObject.cpp
index c1dbdb3..a921af9 100644 (file)
@@ -33,6 +33,7 @@
 #include <QtCore/QTime>
 #include <QtDeclarative/qdeclarative.h>
 #include <QtCore/QDebug>
+#include <QtCore/QTextCodec>
 
 #include "ProcessObject.h"
 
@@ -67,24 +68,25 @@ void ProcessObject::processErrored(QProcess::ProcessError error) {
 void ProcessObject::processFinished(int exitCode,
                                     QProcess::ExitStatus exitStatus)
 {
+    QTextCodec* codec = QTextCodec::codecForName("utf-8");
     if (exitStatus == QProcess::NormalExit)
     {
         if (exitCode == 0)
-        {
-            QString out(m_process->readAllStandardOutput());
-            qDebug() << "normal";
-            emit completed(out.trimmed());
+        {       
+         QString out = codec->toUnicode(m_process->readAllStandardOutput());
+         qDebug() << "normal";
+         emit completed(out.trimmed());
         }
         else
         {
-            QString err(m_process->readAllStandardError());
-            qDebug() << "failed";
-            emit failed(exitCode, err.trimmed(), m_process->error());
+         QString err = codec->toUnicode(m_process->readAllStandardError());
+         qDebug() << "failed";
+         emit failed(exitCode, err.trimmed(), m_process->error());
         }
     }
     else
     {
-        QString err(m_process->readAllStandardError());
+       QString err = codec->toUnicode(m_process->readAllStandardError());
         qDebug() << "failed";
         emit failed(exitCode, err, m_process->error());
     }