IDEA-332041 fix classloader leak in IconMapLoader

GitOrigin-RevId: 42b5299d52a3203da2236b1907d457d61100ba0a
This commit is contained in:
Vadim Salavatov
2023-11-28 09:53:48 +00:00
committed by intellij-monorepo-bot
parent f321eb129c
commit 56de140cf3
@@ -10,6 +10,7 @@ import com.intellij.diagnostic.PluginException
import com.intellij.openapi.components.Service
import com.intellij.openapi.diagnostic.logger
import com.intellij.util.ResourceUtil
import com.intellij.util.containers.CollectionFactory
import kotlinx.coroutines.*
import java.util.*
import java.util.concurrent.atomic.AtomicReference
@@ -68,7 +69,7 @@ class IconMapLoader {
}
.mapNotNull { it.getCompleted() }
val result = IdentityHashMap<ClassLoader, MutableMap<String, String>>()
val result = CollectionFactory.createWeakIdentityMap<ClassLoader, MutableMap<String, String>>(50, 0.5f)
for (pair in list) {
result.computeIfAbsent(pair.first) { HashMap() }.putAll(pair.second)
}