aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/debugger/breakhandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/debugger/breakhandler.cpp')
-rw-r--r--src/plugins/debugger/breakhandler.cpp21
1 files changed, 13 insertions, 8 deletions
diff --git a/src/plugins/debugger/breakhandler.cpp b/src/plugins/debugger/breakhandler.cpp
index 75782ae6d5..13db44f7ca 100644
--- a/src/plugins/debugger/breakhandler.cpp
+++ b/src/plugins/debugger/breakhandler.cpp
@@ -665,7 +665,7 @@ void BreakpointDialog::getParts(unsigned partsMask, BreakpointParameters *data)
if (partsMask & FileAndLinePart) {
data->lineNumber = m_lineEditLineNumber->text().toInt();
data->pathUsage = static_cast<BreakpointPathUsage>(m_comboBoxPathUsage->currentIndex());
- data->fileName = FilePath::fromUserInput(m_pathChooserFileName->path());
+ data->fileName = m_pathChooserFileName->filePath();
}
if (partsMask & FunctionPart)
data->functionName = m_lineEditFunction->text();
@@ -702,7 +702,7 @@ void BreakpointDialog::setParts(unsigned mask, const BreakpointParameters &data)
m_lineEditMessage->setText(data.message);
if (mask & FileAndLinePart) {
- m_pathChooserFileName->setFileName(data.fileName);
+ m_pathChooserFileName->setFilePath(data.fileName);
m_lineEditLineNumber->setText(QString::number(data.lineNumber));
}
@@ -1174,19 +1174,19 @@ void BreakHandler::removeAlienBreakpoint(const QString &rid)
void BreakHandler::requestBreakpointInsertion(const Breakpoint &bp)
{
bp->gotoState(BreakpointInsertionRequested, BreakpointNew);
- QTimer::singleShot(0, m_engine, [this, bp] { m_engine->insertBreakpoint(bp); });
+ m_engine->insertBreakpoint(bp);
}
void BreakHandler::requestBreakpointUpdate(const Breakpoint &bp)
{
bp->gotoState(BreakpointUpdateRequested, BreakpointInserted);
- QTimer::singleShot(0, m_engine, [this, bp] { m_engine->updateBreakpoint(bp); });
+ m_engine->updateBreakpoint(bp);
}
void BreakHandler::requestBreakpointRemoval(const Breakpoint &bp)
{
bp->gotoState(BreakpointRemoveRequested, BreakpointInserted);
- QTimer::singleShot(0, m_engine, [this, bp] { m_engine->removeBreakpoint(bp); });
+ m_engine->removeBreakpoint(bp);
}
void BreakHandler::requestBreakpointEnabling(const Breakpoint &bp, bool enabled)
@@ -1330,7 +1330,12 @@ void DebuggerEngine::notifyBreakpointInsertOk(const Breakpoint &bp)
void DebuggerEngine::notifyBreakpointInsertFailed(const Breakpoint &bp)
{
QTC_ASSERT(bp, return);
+ GlobalBreakpoint gbp = bp->globalBreakpoint();
bp->gotoState(BreakpointDead, BreakpointInsertionProceeding);
+ breakHandler()->removeDisassemblerMarker(bp);
+ breakHandler()->destroyItem(bp);
+ QTC_ASSERT(gbp, return);
+ gbp->updateMarker();
}
void DebuggerEngine::notifyBreakpointRemoveProceeding(const Breakpoint &bp)
@@ -1509,7 +1514,7 @@ bool BreakHandler::setData(const QModelIndex &idx, const QVariant &value, int ro
return contextMenuEvent(ev);
if (auto kev = ev.as<QKeyEvent>(QEvent::KeyPress)) {
- if (kev->key() == Qt::Key_Delete) {
+ if (kev->key() == Qt::Key_Delete || kev->key() == Qt::Key_Backspace) {
QModelIndexList si = ev.currentOrSelectedRows();
const Breakpoints bps = findBreakpointsByIndex(si);
for (Breakpoint bp : bps) {
@@ -2490,7 +2495,7 @@ GlobalBreakpoint BreakpointManager::findBreakpointFromContext(const ContextData
matchLevel = 2;
bestMatch = gbp;
} else if (matchLevel < 2) {
- for (const QPointer<DebuggerEngine> engine : EngineManager::engines()) {
+ for (const QPointer<DebuggerEngine> &engine : EngineManager::engines()) {
BreakHandler *handler = engine->breakHandler();
for (Breakpoint bp : handler->breakpoints()) {
if (bp->globalBreakpoint() == gbp) {
@@ -2547,7 +2552,7 @@ bool BreakpointManager::setData(const QModelIndex &idx, const QVariant &value, i
return contextMenuEvent(ev);
if (auto kev = ev.as<QKeyEvent>(QEvent::KeyPress)) {
- if (kev->key() == Qt::Key_Delete) {
+ if (kev->key() == Qt::Key_Delete || kev->key() == Qt::Key_Backspace) {
QModelIndexList si = ev.currentOrSelectedRows();
const GlobalBreakpoints gbps = findBreakpointsByIndex(si);
for (GlobalBreakpoint gbp : gbps)