Community
Participate
Working Groups
The following code fragment from method visit() of the above class shows that if delta kind equals to CHANGED and delta flags equals to CONTENT, then the file timestamp will never be checked because the Runnable instance evaluated in the first condition of the "if" statement is always null. ------------------------------------- Runnable runnable= null; switch (delta.getKind()) { case IResourceDelta.CHANGED: FileInfo info= (FileInfo)getElementInfo(fFileEditorInput); if (info == null || info.fCanBeSaved) break; boolean isSynchronized= computeModificationStamp(getFile()) == info.fModificationStamp; if ((IResourceDelta.ENCODING & delta.getFlags()) != 0 && isSynchronized) { runnable= new SafeChange(fFileEditorInput) { protected void execute(IFileEditorInput input) throws Exception { handleElementContentChanged(input); } }; } if (runnable != null && (IResourceDelta.CONTENT & delta.getFlags()) != 0 && !isSynchronized) { ---------------------------------------
Fixed in HEAD.
Fixed in 3.1.1 Reviewed by Tom.
Start verifying...
Verified by code inspecting. Code is in and makes sense.
You can use org.eclipse.ui.examples.javaeditor project which contains the Template editor that still uses FileDocumentProvider.