Missing part from: Bug #439: FileTemplateLoader with emulateCaseSensitiveFileSystem set to true (used for development) wasn't properly synchronized, leading to random NullPointerException-s or other misbehavior.
diff --git a/src/main/java/freemarker/cache/FileTemplateLoader.java b/src/main/java/freemarker/cache/FileTemplateLoader.java
index 50108ff..d14368f 100644
--- a/src/main/java/freemarker/cache/FileTemplateLoader.java
+++ b/src/main/java/freemarker/cache/FileTemplateLoader.java
@@ -263,8 +263,10 @@
}
}
}
-
- correctCasePaths.put(sourcePath, Boolean.TRUE);
+
+ synchronized (correctCasePaths) {
+ correctCasePaths.put(sourcePath, Boolean.TRUE);
+ }
return true;
}