diff --git a/src/plugins/debugger/breakhandler.cpp b/src/plugins/debugger/breakhandler.cpp index d6822717628b2b52e3d6a5b56b20519032a244d8..6ed2830cd8cdb6b85bc67177e0c9caa724bb2c30 100644 --- a/src/plugins/debugger/breakhandler.cpp +++ b/src/plugins/debugger/breakhandler.cpp @@ -746,17 +746,6 @@ void BreakHandler::loadSessionData() updateMarkers(); } -void BreakHandler::activateBreakpoint(int index) -{ - const BreakpointData *data = at(index); - if (!data->markerFileName().isEmpty()) { - StackFrame frame; - frame.file = data->markerFileName(); - frame.line = data->markerLineNumber(); - m_manager->gotoLocation(frame, false); - } -} - void BreakHandler::breakByFunction(const QString &functionName) { // One breakpoint per function is enough for now. This does not handle diff --git a/src/plugins/debugger/breakhandler.h b/src/plugins/debugger/breakhandler.h index 35904fbaf67f786a507126652dbbd46e4f14c3f8..c0aaadc8cb6727e82f604e8ce929433cc9b01b04 100644 --- a/src/plugins/debugger/breakhandler.h +++ b/src/plugins/debugger/breakhandler.h @@ -160,7 +160,6 @@ public slots: void appendBreakpoint(BreakpointData *data); void toggleBreakpointEnabled(BreakpointData *data); void breakByFunction(const QString &functionName); - void activateBreakpoint(int index); void removeBreakpoint(int index); private: diff --git a/src/plugins/debugger/debuggermanager.cpp b/src/plugins/debugger/debuggermanager.cpp index 08c7fd062877170226adeb5170afc9d9f9c8ec8d..ba2c527fd190adca3dc172605060ffc1bc42f7d7 100644 --- a/src/plugins/debugger/debuggermanager.cpp +++ b/src/plugins/debugger/debuggermanager.cpp @@ -419,7 +419,7 @@ void DebuggerManager::init() qobject_cast<QAbstractItemView *>(d->m_breakWindow); breakView->setModel(d->m_breakHandler->model()); connect(breakView, SIGNAL(breakpointActivated(int)), - d->m_breakHandler, SLOT(activateBreakpoint(int))); + this, SLOT(activateBreakpoint(int))); connect(breakView, SIGNAL(breakpointDeleted(int)), d->m_breakHandler, SLOT(removeBreakpoint(int))); connect(breakView, SIGNAL(breakpointSynchronizationRequested()), @@ -1336,6 +1336,17 @@ void DebuggerManager::addToWatchWindow() d->m_watchHandler->watchExpression(exp); } +void DebuggerManager::activateBreakpoint(int index) +{ + const BreakpointData *data = breakHandler()->at(index); + if (!data->markerFileName().isEmpty()) { + StackFrame frame; + frame.file = data->markerFileName(); + frame.line = data->markerLineNumber(); + gotoLocation(frame, false); + } +} + void DebuggerManager::breakByFunctionMain() { #ifdef Q_OS_WIN diff --git a/src/plugins/debugger/debuggermanager.h b/src/plugins/debugger/debuggermanager.h index 6f3fbfece8977238eeb4a7b96502ebe05882c79c..4e4657a748dbd6d3d7b0048d685fbdb65666a3ab 100644 --- a/src/plugins/debugger/debuggermanager.h +++ b/src/plugins/debugger/debuggermanager.h @@ -259,6 +259,7 @@ public slots: // FIXME { showDebuggerOutput(LogDebug, msg); } void ensureLogVisible(); void updateWatchersWindow(); + void activateBreakpoint(int index); //private slots: // FIXME void showDebuggerOutput(int channel, const QString &msg); diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index 769448f003818cae05bfb2d986aa52044d136482..13c2add30da552516a11fd0236eb16529e71c95b 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -1174,11 +1174,11 @@ void DebuggerPlugin::requestContextMenu(TextEditor::ITextEditor *editor, void DebuggerPlugin::breakpointSetRemoveMarginActionTriggered() { - if (QAction *act = qobject_cast<QAction *>(sender())) { - QString str = act->data().toString(); - int pos = str.lastIndexOf(':'); - m_manager->toggleBreakpoint(str.left(pos), str.mid(pos + 1).toInt()); - } + QAction *act = qobject_cast<QAction *>(sender()); + QTC_ASSERT(act, return); + QString str = act->data().toString(); + int pos = str.lastIndexOf(':'); + m_manager->toggleBreakpoint(str.left(pos), str.mid(pos + 1).toInt()); } void DebuggerPlugin::breakpointEnableDisableMarginActionTriggered()