QmlCppDebugger: failing gracefully when cdb engine cannot be initialized

Reviewed by:  Friedemann Kleint
This commit is contained in:
Christiaan Janssen
2010-10-06 17:18:31 +02:00
parent 864ebf5bcd
commit 6be0a8b338

View File

@@ -20,7 +20,13 @@ DebuggerEngine *createQmlEngine(const DebuggerStartParameters &);
DebuggerEngine *createQmlCppEngine(const DebuggerStartParameters &sp) DebuggerEngine *createQmlCppEngine(const DebuggerStartParameters &sp)
{ {
return new QmlCppEngine(sp); QmlCppEngine *newEngine = new QmlCppEngine(sp);
if (newEngine->cppEngine()) {
return newEngine;
} else {
delete newEngine;
return 0;
}
} }
} // namespace Internal } // namespace Internal
@@ -58,8 +64,10 @@ QmlCppEngine::QmlCppEngine(const DebuggerStartParameters &sp)
} else { } else {
QString errorMessage; QString errorMessage;
d->m_cppEngine = Internal::createCdbEngine(sp, &errorMessage); d->m_cppEngine = Internal::createCdbEngine(sp, &errorMessage);
if (!d->m_cppEngine) if (!d->m_cppEngine) {
qWarning("%s", qPrintable(errorMessage)); qWarning("%s", qPrintable(errorMessage));
return;
}
} }
d->m_cppEngine->setRunInWrapperEngine(true); d->m_cppEngine->setRunInWrapperEngine(true);