mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-28 19:35:36 +02:00
[283586] Traditional Rendering are not disposed after Memory Browser is closed or Debug Session is terminated.
This commit is contained in:
parent
f705bf184e
commit
5862d4025c
1 changed files with 16 additions and 0 deletions
|
@ -41,10 +41,13 @@ import org.eclipse.cdt.dsf.service.DsfServiceEventHandler;
|
||||||
import org.eclipse.cdt.dsf.service.DsfServicesTracker;
|
import org.eclipse.cdt.dsf.service.DsfServicesTracker;
|
||||||
import org.eclipse.cdt.dsf.service.DsfSession;
|
import org.eclipse.cdt.dsf.service.DsfSession;
|
||||||
import org.eclipse.core.runtime.CoreException;
|
import org.eclipse.core.runtime.CoreException;
|
||||||
|
import org.eclipse.core.runtime.IProgressMonitor;
|
||||||
import org.eclipse.core.runtime.IStatus;
|
import org.eclipse.core.runtime.IStatus;
|
||||||
import org.eclipse.core.runtime.MultiStatus;
|
import org.eclipse.core.runtime.MultiStatus;
|
||||||
import org.eclipse.core.runtime.Platform;
|
import org.eclipse.core.runtime.Platform;
|
||||||
import org.eclipse.core.runtime.Status;
|
import org.eclipse.core.runtime.Status;
|
||||||
|
import org.eclipse.core.runtime.jobs.Job;
|
||||||
|
import org.eclipse.debug.core.DebugEvent;
|
||||||
import org.eclipse.debug.core.DebugException;
|
import org.eclipse.debug.core.DebugException;
|
||||||
import org.eclipse.debug.core.DebugPlugin;
|
import org.eclipse.debug.core.DebugPlugin;
|
||||||
import org.eclipse.debug.core.ILaunchConfiguration;
|
import org.eclipse.debug.core.ILaunchConfiguration;
|
||||||
|
@ -263,6 +266,19 @@ public class GdbLaunch extends DsfLaunch
|
||||||
// DsfMemoryBlockRetrieval.saveMemoryBlocks();
|
// DsfMemoryBlockRetrieval.saveMemoryBlocks();
|
||||||
fMemRetrieval.saveMemoryBlocks();
|
fMemRetrieval.saveMemoryBlocks();
|
||||||
|
|
||||||
|
// Fire a terminate event for the memory retrieval object so
|
||||||
|
// that the hosting memory views can clean up. See 255120 and
|
||||||
|
// 283586
|
||||||
|
new Job("Dispatch GDB Memory retrieval terminate event.") { //$NON-NLS-1$
|
||||||
|
{ setSystem(true); }
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected IStatus run(IProgressMonitor monitor) {
|
||||||
|
DebugPlugin.getDefault().fireDebugEventSet( new DebugEvent[] { new DebugEvent(fMemRetrieval, DebugEvent.TERMINATE) });
|
||||||
|
return Status.OK_STATUS;
|
||||||
|
}
|
||||||
|
}.schedule();
|
||||||
|
|
||||||
// endSession takes a full dispatch to distribute the
|
// endSession takes a full dispatch to distribute the
|
||||||
// session-ended event, finish step only after the dispatch.
|
// session-ended event, finish step only after the dispatch.
|
||||||
fExecutor.shutdown();
|
fExecutor.shutdown();
|
||||||
|
|
Loading…
Add table
Reference in a new issue