From 41cbb6cdee358e1dae9e43ed3d590004d6f9a5fb Mon Sep 17 00:00:00 2001
From: Aurindam Jana <aurindam.jana@nokia.com>
Date: Fri, 2 Mar 2012 12:24:19 +0100
Subject: [PATCH] QmlDebugging: Fix breakpoint states

For mixed debugging, the ownership of breakpoints is with
the mixed engine so that it can set the state of the breakpoints
correctly on DebuggerFinished.

Change-Id: I0e03493ac997dbca0a34ca65de1eba3690faceba
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
---
 src/plugins/debugger/qml/qmlengine.cpp | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/plugins/debugger/qml/qmlengine.cpp b/src/plugins/debugger/qml/qmlengine.cpp
index e00d1ed7ff2..2dab1a1f6ba 100644
--- a/src/plugins/debugger/qml/qmlengine.cpp
+++ b/src/plugins/debugger/qml/qmlengine.cpp
@@ -861,13 +861,14 @@ void QmlEngine::attemptBreakpointSynchronization()
 
     BreakHandler *handler = breakHandler();
 
+    DebuggerEngine *bpOwner = isSlaveEngine() ? masterEngine() : this;
     foreach (BreakpointModelId id, handler->unclaimedBreakpointIds()) {
         // Take ownership of the breakpoint. Requests insertion.
         if (acceptsBreakpoint(id))
-            handler->setEngine(id, this);
+            handler->setEngine(id, bpOwner);
     }
 
-    foreach (BreakpointModelId id, handler->engineBreakpointIds(this)) {
+    foreach (BreakpointModelId id, handler->engineBreakpointIds(bpOwner)) {
         switch (handler->state(id)) {
         case BreakpointNew:
             // Should not happen once claimed.
-- 
GitLab