summaryrefslogtreecommitdiffstats
path: root/src/vsession.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/vsession.cpp')
-rw-r--r--src/vsession.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/vsession.cpp b/src/vsession.cpp
index 31602ed..16a8a97 100644
--- a/src/vsession.cpp
+++ b/src/vsession.cpp
@@ -16,6 +16,7 @@
bool VSession::init(const QString& xml, const QString& baseDirPath) {
this->baseDirPath_ = baseDirPath;
+ _process = new QProcess();
return this->doc_.setContent(xml);
}
@@ -275,8 +276,12 @@ bool VSession::run() const {
tmpfile.close();
tmpfile.setAutoRemove(false);
- return QProcess::startDetached(runVmScript,
- QStringList(tmpfile.fileName()));
+ _process->start(runVmScript, QStringList(tmpfile.fileName()));
+ QObject::connect(_process, SIGNAL(finished(int, QProcess::ExitStatus)), QApplication::instance(), SLOT(quit()));
+ if (_process->state() == QProcess::Starting || QProcess::Running)
+ return true;
+ else
+ return false;
}
QList<Session*> VSession::readXmlFile(const QString& filepath) {