mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
[249239] - [debug view] Started/Exited events should always be handled (should not be skipped for optimization)
This commit is contained in:
parent
d8295183cc
commit
d9e9c8256b
1 changed files with 7 additions and 0 deletions
|
@ -28,6 +28,7 @@ import org.eclipse.dd.dsf.debug.internal.provisional.ui.viewmodel.launch.StackFr
|
||||||
import org.eclipse.dd.dsf.debug.internal.ui.DsfDebugUIPlugin;
|
import org.eclipse.dd.dsf.debug.internal.ui.DsfDebugUIPlugin;
|
||||||
import org.eclipse.dd.dsf.debug.service.IRunControl;
|
import org.eclipse.dd.dsf.debug.service.IRunControl;
|
||||||
import org.eclipse.dd.dsf.debug.service.IRunControl.IExecutionDMContext;
|
import org.eclipse.dd.dsf.debug.service.IRunControl.IExecutionDMContext;
|
||||||
|
import org.eclipse.dd.dsf.debug.service.IRunControl.IStartedDMEvent;
|
||||||
import org.eclipse.dd.dsf.debug.service.IRunControl.ISuspendedDMEvent;
|
import org.eclipse.dd.dsf.debug.service.IRunControl.ISuspendedDMEvent;
|
||||||
import org.eclipse.dd.dsf.debug.ui.IDsfDebugUIConstants;
|
import org.eclipse.dd.dsf.debug.ui.IDsfDebugUIConstants;
|
||||||
import org.eclipse.dd.dsf.service.DsfSession;
|
import org.eclipse.dd.dsf.service.DsfSession;
|
||||||
|
@ -254,6 +255,12 @@ public class AbstractLaunchVMProvider extends AbstractDMVMProvider
|
||||||
// before the last suspended events. However, the debug view can get suspended
|
// before the last suspended events. However, the debug view can get suspended
|
||||||
// events for different threads, so make sure to skip only the events if they
|
// events for different threads, so make sure to skip only the events if they
|
||||||
// were in the same hierarchy as the last suspended event.
|
// were in the same hierarchy as the last suspended event.
|
||||||
|
// Note: Avoid skipping thread started/exited events which require a larger
|
||||||
|
// scope refresh than some suspended events.
|
||||||
|
if (newEvent instanceof IStartedDMEvent || newEvent instanceof IExitedDMEvent) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if (newEvent instanceof ISuspendedDMEvent && eventToSkip instanceof IDMEvent<?>) {
|
if (newEvent instanceof ISuspendedDMEvent && eventToSkip instanceof IDMEvent<?>) {
|
||||||
IDMContext newEventDmc = ((IDMEvent<?>)newEvent).getDMContext();
|
IDMContext newEventDmc = ((IDMEvent<?>)newEvent).getDMContext();
|
||||||
IDMContext eventToSkipDmc = ((IDMEvent<?>)eventToSkip).getDMContext();
|
IDMContext eventToSkipDmc = ((IDMEvent<?>)eventToSkip).getDMContext();
|
||||||
|
|
Loading…
Add table
Reference in a new issue