Debugger: Fix the way to register/add new debuggers

DebuggerItemManager::registerDebugger() should return the id
of the added debugger in order to use it when setting a kit's debugger
(addDebugger() creates and adds a copy of the passed
debugger object with a unique id).

The DebuggerKitInformation::setDebugger() method should set only already
existing and registered debuggers.

Task-number: QTCREATORBUG-10436

Change-Id: Icdcd1ed92aafe9eda44abf831aa9983dd6801980
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
This commit is contained in:
El Mehdi Fekari
2013-10-18 19:27:31 +02:00
committed by Mehdi Fekari
parent 9f66b6384a
commit 36e6a70505
5 changed files with 21 additions and 19 deletions

View File

@@ -110,7 +110,7 @@ public:
static QList<DebuggerItem> debuggers();
static Debugger::Internal::DebuggerItemModel *model();
static void registerDebugger(const DebuggerItem &item);
static QVariant registerDebugger(const DebuggerItem &item);
static void deregisterDebugger(const DebuggerItem &item);
static const DebuggerItem *findByCommand(const Utils::FileName &command);
@@ -121,7 +121,7 @@ public:
static void setItemData(const QVariant &id, const QString& displayName, const Utils::FileName &fileName);
static void removeDebugger(const QVariant &id);
static void addDebugger(const DebuggerItem &item);
static QVariant addDebugger(const DebuggerItem &item);
public slots:
void saveDebuggers();
@@ -164,7 +164,7 @@ public:
ItemList toUserOutput(const ProjectExplorer::Kit *k) const;
static void setDebugger(ProjectExplorer::Kit *k, const DebuggerItem &item);
static void setDebugger(ProjectExplorer::Kit *k, const QVariant &id);
static Core::Id id();
static Utils::FileName debuggerCommand(const ProjectExplorer::Kit *k);