From e84f7f33a6e00d3f06f05db82120cd0e6e5bd95e Mon Sep 17 00:00:00 2001
From: hjk <hjk121@nokiamail.com>
Date: Fri, 16 Aug 2013 23:44:15 +0200
Subject: [PATCH] Debugger: Disable inapplicable context menu entries for
 sub-breakpoints

Task-Number: QTCREATORBUG-9984

Change-Id: Id4197b8d0db917606eb0e2767d2b05195e6cfbcd
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
---
 src/plugins/debugger/breakwindow.cpp             | 7 +++++--
 tests/manual/debugger/simple/simple_test_app.cpp | 7 +++++++
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/src/plugins/debugger/breakwindow.cpp b/src/plugins/debugger/breakwindow.cpp
index cbac9c88007..66443ef1f3b 100644
--- a/src/plugins/debugger/breakwindow.cpp
+++ b/src/plugins/debugger/breakwindow.cpp
@@ -748,11 +748,14 @@ void BreakTreeView::contextMenuEvent(QContextMenuEvent *ev)
         selectedIndices.append(indexUnderMouse);
 
     BreakHandler *handler = breakHandler();
-    BreakpointModelIds selectedIds = handler->findBreakpointsByIndex(selectedIndices);
+    BreakpointModelIds selectedIds;
+    foreach (BreakpointModelId id, handler->findBreakpointsByIndex(selectedIndices))
+        if (id.isMajor())
+            selectedIds.append(id);
 
     const int rowCount = model()->rowCount();
     QAction *deleteAction = new QAction(tr("Delete Breakpoint"), &menu);
-    deleteAction->setEnabled(!selectedIds.isEmpty());
+    deleteAction->setEnabled(!selectedIds.empty());
 
     QAction *deleteAllAction = new QAction(tr("Delete All Breakpoints"), &menu);
     deleteAllAction->setEnabled(model()->rowCount() > 0);
diff --git a/tests/manual/debugger/simple/simple_test_app.cpp b/tests/manual/debugger/simple/simple_test_app.cpp
index a41b552eb3d..1ba22bc3e75 100644
--- a/tests/manual/debugger/simple/simple_test_app.cpp
+++ b/tests/manual/debugger/simple/simple_test_app.cpp
@@ -6767,8 +6767,15 @@ namespace sanity {
 } // namespace sanity
 
 
+template <class X> int ffff(X x)
+{
+    return sizeof(x);
+}
+
 int main(int argc, char *argv[])
 {
+    int z = ffff(3) + ffff(2.0);
+
     #if USE_GUILIB
     QApplication app(argc, argv);
     #else
-- 
GitLab