diff options
author | Sam Judd <judds@google.com> | 2014-10-07 18:46:48 -0700 |
---|---|---|
committer | Sam Judd <judds@google.com> | 2014-10-07 19:15:41 -0700 |
commit | 8a86b3909373197eabbd222115ba33257dc5a5aa (patch) | |
tree | 1b6d8ed8390ebe65e58acb01c6723518104a86d7 /library/src/main/java/com/bumptech | |
parent | 1737514a35eae271f1a7d5441b92f9ea9c048e27 (diff) | |
download | glide-8a86b3909373197eabbd222115ba33257dc5a5aa.tar.gz |
Fix a concurrency bug in DataLoadProviderRegistry
Fixes #181
Diffstat (limited to 'library/src/main/java/com/bumptech')
-rw-r--r-- | library/src/main/java/com/bumptech/glide/provider/DataLoadProviderRegistry.java | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/library/src/main/java/com/bumptech/glide/provider/DataLoadProviderRegistry.java b/library/src/main/java/com/bumptech/glide/provider/DataLoadProviderRegistry.java index 0fbb452a..7c50577b 100644 --- a/library/src/main/java/com/bumptech/glide/provider/DataLoadProviderRegistry.java +++ b/library/src/main/java/com/bumptech/glide/provider/DataLoadProviderRegistry.java @@ -40,8 +40,11 @@ public class DataLoadProviderRegistry { */ @SuppressWarnings("unchecked") public <T, Z> DataLoadProvider<T, Z> get(Class<T> dataClass, Class<Z> resourceClass) { - GET_KEY.set(dataClass, resourceClass); - DataLoadProvider<?, ?> result = providers.get(GET_KEY); + DataLoadProvider<?, ?> result; + synchronized (GET_KEY) { + GET_KEY.set(dataClass, resourceClass); + result = providers.get(GET_KEY); + } if (result == null) { result = EmptyDataLoadProvider.get(); } |