aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/sci/resource.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/engines/sci/resource.cpp b/engines/sci/resource.cpp
index 1f723f340a..9791402e5f 100644
--- a/engines/sci/resource.cpp
+++ b/engines/sci/resource.cpp
@@ -1279,11 +1279,14 @@ void ResourceManager::removeAudioResource(ResourceId resId) {
Resource *res = _resMap.getVal(resId);
if (res->source->source_type == kSourceAudioVolume) {
- if (res->lockers == 0) {
+ if (res->status == kResStatusLocked) {
+ warning("Failed to remove resource %s (still in use)", resId.toString().c_str());
+ } else {
+ if (res->status == kResStatusEnqueued)
+ removeFromLRU(res);
+
_resMap.erase(resId);
delete res;
- } else {
- warning("Failed to remove resource %s (still in use)", resId.toString().c_str());
}
}
}