Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 325394 | Differences between
and this patch

Collapse All | Expand All

(-)src/org/eclipse/cdt/dsf/debug/ui/sourcelookup/DsfSourceDisplayAdapter.java (+9 lines)
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() {

Return to bug 325394