Issue #2928 - Re-order imgLoader::RemoveFromCache

Remove from tracker first before removing from cache, and if the cache
queue is dirty, refresh it (causes a re-heap) before manipulating further.
This commit is contained in:
Moonchild 2026-02-03 08:51:06 +01:00 committed by wuggy
commit 7332833ecc

View file

@ -1944,17 +1944,20 @@ imgLoader::RemoveFromCache(imgCacheEntry* entry)
"imgLoader::RemoveFromCache", "entry's uri",
key.Spec());
cache.Remove(key);
if (entry->HasNoProxies()) {
LOG_STATIC_FUNC(gImgLog,
"imgLoader::RemoveFromCache removing from tracker");
if (mCacheTracker && queue.GetSize() > 0) {
if (queue.IsDirty()) {
queue.Refresh();
}
if (mCacheTracker) {
mCacheTracker->RemoveObject(entry);
}
queue.Remove(entry);
}
cache.Remove(key);
entry->SetEvicted(true);
request->SetIsInCache(false);
AddToUncachedImages(request);