diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyPart.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyPart.java index c01bff54e60..5151d33bb96 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyPart.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyPart.java @@ -2126,8 +2126,10 @@ public abstract class DisassemblyPart extends WorkbenchPart fPCHistory.clear(); fPendingPCUpdates.clear(); fFile2Storage.clear(); - fDocument.clear(); + var oldDocument = fDocument; + fDocument = createDocument(); fViewer.setDocument(fDocument, new AnnotationModel()); + oldDocument.dispose(); if (fDebugSessionId != null) { attachBreakpointsAnnotationModel(); attachExtendedPCAnnotationModel(); diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/model/DisassemblyDocument.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/model/DisassemblyDocument.java index 2aad29302c5..400aa18839f 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/model/DisassemblyDocument.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/model/DisassemblyDocument.java @@ -33,14 +33,12 @@ import org.eclipse.cdt.debug.internal.ui.disassembly.dsf.IDisassemblyDocument; import org.eclipse.cdt.debug.internal.ui.disassembly.dsf.LabelPosition; import org.eclipse.cdt.dsf.debug.internal.ui.disassembly.SourcePosition; import org.eclipse.cdt.dsf.debug.internal.ui.disassembly.text.REDDocument; -import org.eclipse.cdt.dsf.debug.internal.ui.disassembly.text.REDTextStore; import org.eclipse.core.resources.IStorage; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.Path; import org.eclipse.debug.core.sourcelookup.containers.LocalFileStorage; import org.eclipse.jface.text.BadLocationException; import org.eclipse.jface.text.BadPositionCategoryException; -import org.eclipse.jface.text.DefaultLineTracker; import org.eclipse.jface.text.DocumentRewriteSession; import org.eclipse.jface.text.DocumentRewriteSessionType; import org.eclipse.jface.text.IDocument; @@ -129,16 +127,6 @@ public class DisassemblyDocument extends REDDocument implements IDisassemblyDocu fInvalidSource.clear(); } - /** - * Clears all content and state. - */ - public void clear() { - dispose(); - setTextStore(new REDTextStore()); - setLineTracker(new DefaultLineTracker()); - completeInitialization(); - } - public AddressRangePosition[] getInvalidAddressRanges() { assert isGuiThread(); return fInvalidAddressRanges.toArray(new AddressRangePosition[fInvalidAddressRanges.size()]);