- synchronized access to AssetManager ClassLoader list

git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@8606 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
This commit is contained in:
nor..67 2011-11-08 23:36:45 +00:00
parent c0695b0a3a
commit 23b4e2fcf0
2 changed files with 14 additions and 9 deletions

View File

@ -185,6 +185,7 @@ public class SavableClassUtil {
}
String newClassName = remapClass(className);
synchronized(loaders) {
for (ClassLoader classLoader : loaders){
try {
return (Savable) classLoader.loadClass(newClassName).newInstance();
@ -193,6 +194,7 @@ public class SavableClassUtil {
}
}
}
return fromName(className);
}

View File

@ -102,13 +102,16 @@ public class DesktopAssetManager implements AssetManager {
public void addClassLoader(ClassLoader loader){
if(classLoaders == null)
classLoaders = Collections.synchronizedList(new ArrayList<ClassLoader>());
synchronized(classLoaders) {
classLoaders.add(loader);
}
}
public void removeClassLoader(ClassLoader loader){
if(classLoaders != null)
if(classLoaders != null) synchronized(classLoaders) {
classLoaders.remove(loader);
}
}
public List<ClassLoader> getClassLoaders(){
return classLoaders;