From 1cd4ae9488dfcfb6caa264309d754d1b45978115 Mon Sep 17 00:00:00 2001
From: Aurindam Jana <aurindam.jana@nokia.com>
Date: Thu, 23 Feb 2012 12:33:04 +0100
Subject: [PATCH] QmlCppDebugger: Implement notifyInferiorIll()

Change-Id: I6d2091fff62eb0dabceda4da4eb49d2f63f99484
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
---
 src/plugins/debugger/qml/qmlcppengine.cpp | 13 +++++++++++++
 src/plugins/debugger/qml/qmlcppengine.h   |  2 ++
 2 files changed, 15 insertions(+)

diff --git a/src/plugins/debugger/qml/qmlcppengine.cpp b/src/plugins/debugger/qml/qmlcppengine.cpp
index 17a820b0bd7..fbc7c1f78b6 100644
--- a/src/plugins/debugger/qml/qmlcppengine.cpp
+++ b/src/plugins/debugger/qml/qmlcppengine.cpp
@@ -317,6 +317,19 @@ void QmlCppEngine::assignValueInDebugger(const WatchData *data,
     d->m_activeEngine->assignValueInDebugger(data, expr, value);
 }
 
+void QmlCppEngine::notifyInferiorIll()
+{
+    //This will eventually shutdown the engine
+    //Set final state to avoid quitDebugger() being called
+    //after this call
+    setTargetState(DebuggerFinished);
+
+    //Call notifyInferiorIll of cpp engine
+    //as qml engine will follow state transitions
+    //of cpp engine
+    d->m_cppEngine->notifyInferiorIll();
+}
+
 void QmlCppEngine::detachDebugger()
 {
     d->m_qmlEngine->detachDebugger();
diff --git a/src/plugins/debugger/qml/qmlcppengine.h b/src/plugins/debugger/qml/qmlcppengine.h
index fb3b5c66e74..efddd12f850 100644
--- a/src/plugins/debugger/qml/qmlcppengine.h
+++ b/src/plugins/debugger/qml/qmlcppengine.h
@@ -98,6 +98,8 @@ public:
 
     Internal::QtMessageLogHandler *qtMessageLogHandler() const;
 
+    void notifyInferiorIll();
+
 protected:
     void detachDebugger();
     void executeStep();
-- 
GitLab