From 17569f458117959f3952f68f8eed7e017f6a7150 Mon Sep 17 00:00:00 2001 From: Marc Khouzam Date: Wed, 13 Mar 2013 09:46:26 -0400 Subject: [PATCH 1/2] Bug 403166 - [breakpoints] Breakpoint message is not updated when changing line number Change-Id: I3f28365acdc638e1c1007a0e916fec5edcf686f5 Reviewed-on: https://git.eclipse.org/r/11175 Reviewed-by: Pawel Piech Reviewed-by: Marc Khouzam IP-Clean: Marc Khouzam Tested-by: Marc Khouzam --- .../CBreakpointPreferenceStore.java | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/breakpoints/CBreakpointPreferenceStore.java b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/breakpoints/CBreakpointPreferenceStore.java index 612bae3e6df..468898d3e8b 100644 --- a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/breakpoints/CBreakpointPreferenceStore.java +++ b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/breakpoints/CBreakpointPreferenceStore.java @@ -23,6 +23,7 @@ import java.util.Set; import org.eclipse.cdt.debug.core.CDIDebugModel; import org.eclipse.cdt.debug.core.model.ICBreakpoint; +import org.eclipse.cdt.debug.core.model.ICBreakpoint2; import org.eclipse.cdt.debug.core.model.ICLineBreakpoint2; import org.eclipse.cdt.debug.core.model.ICTracepoint; import org.eclipse.core.resources.IMarker; @@ -141,14 +142,26 @@ public class CBreakpointPreferenceStore implements IPersistentPreferenceStore { breakpoint.setCondition( getString( ICBreakpoint.CONDITION ) ); } else if ( property.equals( IMarker.LINE_NUMBER ) ) { - // already workspace runnable, setting markers are safe - breakpoint.getMarker().setAttribute(IMarker.LINE_NUMBER, getInt(IMarker.LINE_NUMBER)); - breakpoint.getMarker().setAttribute(ICLineBreakpoint2.REQUESTED_LINE, getInt(IMarker.LINE_NUMBER)); + if (breakpoint instanceof ICLineBreakpoint2) { + // Must set the REQUESTED_LINE attribute first, or else the breakpoint + // message will be refreshed improperly + ((ICLineBreakpoint2)breakpoint).setRequestedLine(getInt(IMarker.LINE_NUMBER)); + ((ICLineBreakpoint2)breakpoint).setInstalledLineNumber(getInt(IMarker.LINE_NUMBER)); + } else { + // already workspace runnable, setting markers are safe + breakpoint.getMarker().setAttribute(IMarker.LINE_NUMBER, getInt(IMarker.LINE_NUMBER)); + breakpoint.getMarker().setAttribute(ICLineBreakpoint2.REQUESTED_LINE, getInt(IMarker.LINE_NUMBER)); + } } else { // this allow set attributes contributed by other plugins Object value = fProperties.get(property); if ( value != null ) { marker.setAttribute(property, value); + if (breakpoint instanceof ICBreakpoint2) { + // To be safe, refresh the breakpoint message as the property + // change might affect it. + ((ICBreakpoint2)breakpoint).refreshMessage(); + } } } } From ed076fcac550b6a1d1c077d59882fbf0dcfeddc5 Mon Sep 17 00:00:00 2001 From: Marc Khouzam Date: Thu, 14 Mar 2013 16:33:24 -0400 Subject: [PATCH 2/2] Bug 402988 - Undefined maintenance set python command Change-Id: Ibce0f4f6349e7bbc50c258250243bd4458dc6790 Reviewed-on: https://git.eclipse.org/r/11177 Reviewed-by: Mikhail Khodjaiants IP-Clean: Mikhail Khodjaiants Tested-by: Mikhail Khodjaiants Reviewed-by: Marc Khouzam IP-Clean: Marc Khouzam Tested-by: Marc Khouzam --- .../gdb/launching/FinalLaunchSequence.java | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/launching/FinalLaunchSequence.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/launching/FinalLaunchSequence.java index 8e897d248f8..fc0c78f2742 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/launching/FinalLaunchSequence.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/launching/FinalLaunchSequence.java @@ -26,6 +26,7 @@ import org.eclipse.cdt.debug.core.model.IConnectHandler; import org.eclipse.cdt.debug.internal.core.sourcelookup.CSourceLookupDirector; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.ImmediateDataRequestMonitor; +import org.eclipse.cdt.dsf.concurrent.ImmediateRequestMonitor; import org.eclipse.cdt.dsf.concurrent.ReflectionSequence; import org.eclipse.cdt.dsf.concurrent.RequestMonitor; import org.eclipse.cdt.dsf.concurrent.RequestMonitorWithProgress; @@ -210,11 +211,25 @@ public class FinalLaunchSequence extends ReflectionSequence { new RequestMonitor(getExecutor(), requestMonitor) { @Override protected void handleCompleted() { - fCommandControl.setPrintPythonErrors(false, requestMonitor); + fCommandControl.setPrintPythonErrors(false, new ImmediateRequestMonitor() { + @Override + protected void handleCompleted() { + // Ignore this error + // Bug 402988 + requestMonitor.done(); + } + }); } }); } else { - fCommandControl.setPrintPythonErrors(false, requestMonitor); + fCommandControl.setPrintPythonErrors(false, new ImmediateRequestMonitor() { + @Override + protected void handleCompleted() { + // Ignore this error + // Bug 402988 + requestMonitor.done(); + } + }); } }