mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-18 09:34:34 +07:00
check that changed storages list is not empty
This commit is contained in:
@@ -53,7 +53,7 @@ class StorageVirtualFileTracker(private val messageBus: MessageBus) {
|
||||
private fun addVfsChangesListener() {
|
||||
messageBus.connect().subscribe(VirtualFileManager.VFS_CHANGES, object : BulkFileListener {
|
||||
override fun after(events: MutableList<out VFileEvent>) {
|
||||
val storageEvents = LinkedHashMap<ComponentManager, LinkedHashSet<StateStorage>>()
|
||||
var storageEvents: LinkedHashMap<ComponentManager, LinkedHashSet<StateStorage>>? = null
|
||||
eventLoop@ for (event in events) {
|
||||
var storage: StateStorage?
|
||||
if (event is VFilePropertyChangeEvent && VirtualFile.PROP_NAME == event.propertyName) {
|
||||
@@ -110,11 +110,16 @@ class StorageVirtualFileTracker(private val messageBus: MessageBus) {
|
||||
|
||||
if (isFireStorageFileChangedEvent(event)) {
|
||||
val componentManager = storage.storageManager.componentManager!!
|
||||
if (storageEvents == null) {
|
||||
storageEvents = LinkedHashMap()
|
||||
}
|
||||
storageEvents.getOrPut(componentManager) { LinkedHashSet() }.add(storage)
|
||||
}
|
||||
}
|
||||
|
||||
StoreReloadManager.getInstance().storageFilesChanged(storageEvents)
|
||||
if (storageEvents != null) {
|
||||
StoreReloadManager.getInstance().storageFilesChanged(storageEvents)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@@ -158,6 +158,10 @@ internal class StoreReloadManagerImpl : StoreReloadManager, Disposable {
|
||||
}
|
||||
|
||||
override fun storageFilesChanged(componentManagerToStorages: Map<ComponentManager, Collection<StateStorage>>) {
|
||||
if (componentManagerToStorages.isEmpty()) {
|
||||
return
|
||||
}
|
||||
|
||||
if (LOG.isDebugEnabled) {
|
||||
LOG.debug("[RELOAD] registering to reload: ${componentManagerToStorages.map { "${it.key}: ${it.value.joinToString()}" }.joinToString("\n")}", Exception())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user