diff --git a/plugins/editorconfig/src/org/editorconfig/language/services/impl/EditorConfigFileHierarchyServiceImpl.kt b/plugins/editorconfig/src/org/editorconfig/language/services/impl/EditorConfigFileHierarchyServiceImpl.kt index 98a0fe11a0e4..fa5e6cd26c1e 100644 --- a/plugins/editorconfig/src/org/editorconfig/language/services/impl/EditorConfigFileHierarchyServiceImpl.kt +++ b/plugins/editorconfig/src/org/editorconfig/language/services/impl/EditorConfigFileHierarchyServiceImpl.kt @@ -93,9 +93,10 @@ class EditorConfigFileHierarchyServiceImpl( private fun startBackgroundTask(virtualFile: VirtualFile) { val expectedCacheDropsCount = cacheDropsCount - ReadAction.nonBlocking?> { - findApplicableFiles(virtualFile) - }.finishOnUiThread(ModalityState.any()) ui@{ affectingFiles -> + ReadAction + .nonBlocking?> { findApplicableFiles(virtualFile) } + .expireWhen { project.isDisposed } + .finishOnUiThread(ModalityState.any()) ui@{ affectingFiles -> affectingFiles ?: return@ui synchronized(cacheLocker) { if (expectedCacheDropsCount != cacheDropsCount) return@ui