From 86189eeb868914ed137fd16c59aff7d521c3e6c5 Mon Sep 17 00:00:00 2001 From: Marc Dumais Date: Fri, 3 Feb 2017 08:25:23 -0500 Subject: [PATCH] Bug 510924 - Alt+Enter on breakpoint shows incomplete properties dialog When using the "Alt-Enter" shortcut with a breakpoint selected, the properties dialog that is created is missing some fields. This seems to be caused by the fact that the dialog, when summoned in this way, is created using a wrong context: an ICLineBreakpoint instead of the expected CBreakpointContext. That context is then used to fetch properties from the store, which fails. This is a naive fix that attempts to work around this by creating a proper context from the breakpoint. Change-Id: I2b7c86965d09898dd1cd7eeb3c3f704bb2995e20 --- .../internal/ui/breakpoints/CBreakpointPropertyPage.java | 7 ++++++- .../ui/breakpoints/GDBDynamicPrintfPropertyPage.java | 7 ++++++- .../internal/ui/breakpoints/GDBTracepointPropertyPage.java | 7 ++++++- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/breakpoints/CBreakpointPropertyPage.java b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/breakpoints/CBreakpointPropertyPage.java index 8390e668df0..3a4998f0277 100644 --- a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/breakpoints/CBreakpointPropertyPage.java +++ b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/breakpoints/CBreakpointPropertyPage.java @@ -979,7 +979,12 @@ public class CBreakpointPropertyPage extends FieldEditorPreferencePage implement */ @Override public void setElement( IAdaptable element ) { - fElement = element; + if (element instanceof ICBreakpoint) { + fElement = new CBreakpointContext((ICBreakpoint)element, null); + } + else { + fElement = element; + } } protected String[] getDebugModelIds() { diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/breakpoints/GDBDynamicPrintfPropertyPage.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/breakpoints/GDBDynamicPrintfPropertyPage.java index 9d5e2b894ce..bbe70f6ff6a 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/breakpoints/GDBDynamicPrintfPropertyPage.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/breakpoints/GDBDynamicPrintfPropertyPage.java @@ -477,7 +477,12 @@ public class GDBDynamicPrintfPropertyPage extends FieldEditorPreferencePage impl */ @Override public void setElement(IAdaptable element) { - fElement = element; + if (element instanceof ICBreakpoint) { + fElement = new CBreakpointContext((ICBreakpoint)element, null); + } + else { + fElement = element; + } } protected String[] getDebugModelIds() { diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/breakpoints/GDBTracepointPropertyPage.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/breakpoints/GDBTracepointPropertyPage.java index 4456cc61db4..8bf7eddd1dd 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/breakpoints/GDBTracepointPropertyPage.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/breakpoints/GDBTracepointPropertyPage.java @@ -476,7 +476,12 @@ public class GDBTracepointPropertyPage extends FieldEditorPreferencePage impleme */ @Override public void setElement(IAdaptable element) { - fElement = element; + if (element instanceof ICBreakpoint) { + fElement = new CBreakpointContext((ICBreakpoint)element, null); + } + else { + fElement = element; + } } protected String[] getDebugModelIds() {