From 6be0a8b338ab9b7c4fc6ccbd2141d1b14635516f Mon Sep 17 00:00:00 2001
From: Christiaan Janssen <christiaan.janssen@nokia.com>
Date: Wed, 6 Oct 2010 17:18:31 +0200
Subject: [PATCH] QmlCppDebugger: failing gracefully when cdb engine cannot be
 initialized Reviewed by:  Friedemann Kleint

---
 src/plugins/debugger/qml/qmlcppengine.cpp | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/plugins/debugger/qml/qmlcppengine.cpp b/src/plugins/debugger/qml/qmlcppengine.cpp
index 387a3824265..7869dd7897a 100644
--- a/src/plugins/debugger/qml/qmlcppengine.cpp
+++ b/src/plugins/debugger/qml/qmlcppengine.cpp
@@ -20,7 +20,13 @@ DebuggerEngine *createQmlEngine(const DebuggerStartParameters &);
 
 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
 
@@ -58,8 +64,10 @@ QmlCppEngine::QmlCppEngine(const DebuggerStartParameters &sp)
     } else {
         QString errorMessage;
         d->m_cppEngine = Internal::createCdbEngine(sp, &errorMessage);
-        if (!d->m_cppEngine)
+        if (!d->m_cppEngine) {
             qWarning("%s", qPrintable(errorMessage));
+            return;
+        }
     }
 
     d->m_cppEngine->setRunInWrapperEngine(true);
-- 
GitLab