From fb88cfcdf086453fcf409dfd13dd6f048ef56554 Mon Sep 17 00:00:00 2001 From: "Alexander.Kirsanov" Date: Mon, 22 Oct 2018 17:16:50 +0300 Subject: [PATCH] Fixed "Project is already disposed" (WEB-35364 etc.) --- .../services/impl/EditorConfigFileHierarchyServiceImpl.kt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) 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