diff options
-rw-r--r-- | engines/sci/resource.cpp | 9 |
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()); } } } |