From d02c20ef7e19f8922bb5c442b470596cc168f82e Mon Sep 17 00:00:00 2001
From: hjk <hjk121@nokiamail.com>
Date: Wed, 6 Nov 2013 16:32:23 +0100
Subject: [PATCH] Debugger: Use debugger id for deregistration.

This is better API by being explicit about the item to remove.

Change-Id: I75cb47d7e873f41449efcf4994b2e725ffeeaa73
Reviewed-by: David Kaspar <dkaspar@blackberry.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
---
 src/plugins/debugger/debuggeritemmanager.cpp | 10 +++-------
 src/plugins/debugger/debuggeritemmanager.h   |  2 +-
 src/plugins/debugger/debuggeritemmodel.cpp   |  7 ++-----
 src/plugins/qnx/blackberryconfiguration.cpp  |  2 +-
 4 files changed, 7 insertions(+), 14 deletions(-)

diff --git a/src/plugins/debugger/debuggeritemmanager.cpp b/src/plugins/debugger/debuggeritemmanager.cpp
index cf509fc0031..2fc12f493b4 100644
--- a/src/plugins/debugger/debuggeritemmanager.cpp
+++ b/src/plugins/debugger/debuggeritemmanager.cpp
@@ -370,14 +370,10 @@ QVariant DebuggerItemManager::registerDebugger(const DebuggerItem &item)
     return addDebugger(item);
 }
 
-void DebuggerItemManager::deregisterDebugger(const DebuggerItem &item)
+void DebuggerItemManager::deregisterDebugger(const QVariant &id)
 {
-    QTC_ASSERT(!item.command().isEmpty(), return);
-    QTC_ASSERT(!item.displayName().isEmpty(), return);
-    QTC_ASSERT(item.engineType() != NoEngineType, return);
-
-    if (findById(item.id()))
-        removeDebugger(item.id());
+    if (findById(id))
+        removeDebugger(id);
 }
 
 QVariant DebuggerItemManager::addDebugger(const DebuggerItem &item)
diff --git a/src/plugins/debugger/debuggeritemmanager.h b/src/plugins/debugger/debuggeritemmanager.h
index 615fc0f1613..3140963dbd2 100644
--- a/src/plugins/debugger/debuggeritemmanager.h
+++ b/src/plugins/debugger/debuggeritemmanager.h
@@ -57,7 +57,7 @@ public:
     static QList<DebuggerItem> debuggers();
 
     static QVariant registerDebugger(const DebuggerItem &item);
-    static void deregisterDebugger(const DebuggerItem &item);
+    static void deregisterDebugger(const QVariant &id);
     static void setItemData(const QVariant &id, const QString& displayName, const Utils::FileName &fileName);
 
     static const DebuggerItem *findByCommand(const Utils::FileName &command);
diff --git a/src/plugins/debugger/debuggeritemmodel.cpp b/src/plugins/debugger/debuggeritemmodel.cpp
index 602447c1491..7cc0941866e 100644
--- a/src/plugins/debugger/debuggeritemmodel.cpp
+++ b/src/plugins/debugger/debuggeritemmodel.cpp
@@ -271,11 +271,8 @@ void DebuggerItemModel::updateDebugger(const DebuggerItem &item)
 
 void DebuggerItemModel::apply()
 {
-    foreach (const QVariant &id, m_removedItems) {
-        const DebuggerItem *item = DebuggerItemManager::findById(id);
-        QTC_ASSERT(item, return);
-        DebuggerItemManager::deregisterDebugger(*item);
-    }
+    foreach (const QVariant &id, m_removedItems)
+        DebuggerItemManager::deregisterDebugger(id);
 
     foreach (const DebuggerItem &item, debuggerItems()) {
         const DebuggerItem *managed = DebuggerItemManager::findById(item.id());
diff --git a/src/plugins/qnx/blackberryconfiguration.cpp b/src/plugins/qnx/blackberryconfiguration.cpp
index 0ab23600656..397c82ab942 100644
--- a/src/plugins/qnx/blackberryconfiguration.cpp
+++ b/src/plugins/qnx/blackberryconfiguration.cpp
@@ -368,7 +368,7 @@ void BlackBerryConfiguration::deactivate()
     foreach (const DebuggerItem &item, DebuggerItemManager::debuggers())
         if (item.isAutoDetected() &&
                 (item.command() == m_simulatorDebugger || item.command() == m_deviceDebugger))
-                DebuggerItemManager::deregisterDebugger(item);
+                DebuggerItemManager::deregisterDebugger(item.id());
 
     foreach (ToolChain *toolChain, ToolChainManager::toolChains())
         if (toolChain->isAutoDetected()
-- 
GitLab