|
Lines 674-679
Link Here
|
| 674 |
} |
674 |
} |
| 675 |
|
675 |
|
| 676 |
private void doDisplaySource(final IFrameDMContext context, final IWorkbenchPage page, final boolean force, final boolean eventTriggered) { |
676 |
private void doDisplaySource(final IFrameDMContext context, final IWorkbenchPage page, final boolean force, final boolean eventTriggered) { |
|
|
677 |
if (DEBUG) System.out.println("[DsfSourceDisplayAdapter] doDisplaySource ctx="+context+" eventTriggered="+eventTriggered); //$NON-NLS-1$ |
| 677 |
if (context.getLevel() < 0) { |
678 |
if (context.getLevel() < 0) { |
| 678 |
return; |
679 |
return; |
| 679 |
} |
680 |
} |
|
Lines 748-753
Link Here
|
| 748 |
} |
749 |
} |
| 749 |
// cancel running display job |
750 |
// cancel running display job |
| 750 |
fRunningDisplayJob.cancel(); |
751 |
fRunningDisplayJob.cancel(); |
|
|
752 |
// make sure doneStepping() is called even if the job never ran - bug 325394 |
| 753 |
if (fRunningDisplayJob.fEventTriggered && !fRunningDisplayJob.fDoneStepping.getAndSet(true)) { |
| 754 |
// ... but not if this request is event-triggered for the same context (duplicate suspended event) |
| 755 |
if (!eventTriggered || !fRunningDisplayJob.getDmc().equals(lookupResult.getDmc())) { |
| 756 |
doneStepping(fRunningDisplayJob.getDmc()); |
| 757 |
} |
| 758 |
} |
| 751 |
} |
759 |
} |
| 752 |
if (fRunningClearingJob != null) { |
760 |
if (fRunningClearingJob != null) { |
| 753 |
// Wait for the clearing job to finish, instead, set the |
761 |
// Wait for the clearing job to finish, instead, set the |
|
Lines 843-848
Link Here
|
| 843 |
public void eventDispatched(final IRunControl.ISuspendedDMEvent e) { |
851 |
public void eventDispatched(final IRunControl.ISuspendedDMEvent e) { |
| 844 |
updateStepTiming(); |
852 |
updateStepTiming(); |
| 845 |
if (e.getReason() == StateChangeReason.STEP || e.getReason() == StateChangeReason.BREAKPOINT) { |
853 |
if (e.getReason() == StateChangeReason.STEP || e.getReason() == StateChangeReason.BREAKPOINT) { |
|
|
854 |
if (DEBUG) System.out.println("[DsfSourceDisplayAdapter] eventDispatched e="+e); //$NON-NLS-1$ |
| 846 |
// trigger source display immediately (should be optional?) |
855 |
// trigger source display immediately (should be optional?) |
| 847 |
Display.getDefault().asyncExec(new Runnable() { |
856 |
Display.getDefault().asyncExec(new Runnable() { |
| 848 |
public void run() { |
857 |
public void run() { |