View | Details | Raw Unified | Return to bug 188340
Collapse All | Expand All

(-)model/org/eclipse/jdt/internal/core/DeltaProcessingState.java (-1 / +1 lines)
Lines 47-53 Link Here
47
	/*
47
	/*
48
	 * The delta processor for the current thread.
48
	 * The delta processor for the current thread.
49
	 */
49
	 */
50
	private ThreadLocal deltaProcessors = new ThreadLocal();
50
	public ThreadLocal deltaProcessors = new ThreadLocal();
51
	
51
	
52
	/* A table from IPath (from a classpath entry) to DeltaProcessor.RootInfo */
52
	/* A table from IPath (from a classpath entry) to DeltaProcessor.RootInfo */
53
	public HashMap roots = new HashMap();
53
	public HashMap roots = new HashMap();
(-)model/org/eclipse/jdt/internal/core/JavaModelOperation.java (-1 / +1 lines)
Lines 106-112 Link Here
106
	/*
106
	/*
107
	 * A per thread stack of java model operations (PerThreadObject of ArrayList).
107
	 * A per thread stack of java model operations (PerThreadObject of ArrayList).
108
	 */
108
	 */
109
	protected static ThreadLocal operationStacks = new ThreadLocal();
109
	public static ThreadLocal operationStacks = new ThreadLocal();
110
	protected JavaModelOperation() {
110
	protected JavaModelOperation() {
111
		// default constructor used in subclasses
111
		// default constructor used in subclasses
112
	}
112
	}
(-)model/org/eclipse/jdt/core/JavaCore.java (-2 / +11 lines)
Lines 4462-4469 Link Here
4462
		if (workspace.isTreeLocked()) {
4462
		if (workspace.isTreeLocked()) {
4463
			new BatchOperation(action).run(monitor);
4463
			new BatchOperation(action).run(monitor);
4464
		} else {
4464
		} else {
4465
			// use IWorkspace.run(...) to ensure that a build will be done in autobuild mode
4465
			try {
4466
			workspace.run(new BatchOperation(action), rule, IWorkspace.AVOID_UPDATE, monitor);
4466
				// use IWorkspace.run(...) to ensure that a build will be done in autobuild mode
4467
				workspace.run(new BatchOperation(action), rule, IWorkspace.AVOID_UPDATE, monitor);
4468
			} finally {
4469
				if (JavaModelOperation.operationStacks.get() == null) {
4470
					// if it was a top level operation, fire remaining deltas (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=188340)
4471
					DeltaProcessor deltaProcessor = (DeltaProcessor) JavaModelManager.getJavaModelManager().deltaState.deltaProcessors.get();
4472
					if (deltaProcessor != null)
4473
						deltaProcessor.fire(null, DeltaProcessor.DEFAULT_CHANGE_EVENT);
4474
				}
4475
			}
4467
		}
4476
		}
4468
	}
4477
	}
4469
	/**
4478
	/**

Return to bug 188340