diff options
author | Johann Latocha | 2011-03-01 01:52:37 +0100 |
---|---|---|
committer | Johann Latocha | 2011-03-01 01:52:37 +0100 |
commit | ab473de90a2d884c517f48f5921b9a82b1270aad (patch) | |
tree | 80b65795681928ad985365a49a8c5176e7a05479 /src/vsession.cpp | |
parent | Fix for issue #781 (diff) | |
download | vmchooser-ab473de90a2d884c517f48f5921b9a82b1270aad.tar.gz vmchooser-ab473de90a2d884c517f48f5921b9a82b1270aad.tar.xz vmchooser-ab473de90a2d884c517f48f5921b9a82b1270aad.zip |
[Fix] Startup problems with xsession (Quick&Dirty)
Diffstat (limited to 'src/vsession.cpp')
-rw-r--r-- | src/vsession.cpp | 9 |
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) { |