Fixed "Project is already disposed" (WEB-35364 etc.)

This commit is contained in:
Alexander.Kirsanov
2018-10-22 22:02:35 +03:00
parent b2f752911d
commit fb88cfcdf0
@@ -93,9 +93,10 @@ class EditorConfigFileHierarchyServiceImpl(
private fun startBackgroundTask(virtualFile: VirtualFile) {
val expectedCacheDropsCount = cacheDropsCount
ReadAction.nonBlocking<List<EditorConfigPsiFile>?> {
findApplicableFiles(virtualFile)
}.finishOnUiThread(ModalityState.any()) ui@{ affectingFiles ->
ReadAction
.nonBlocking<List<EditorConfigPsiFile>?> { findApplicableFiles(virtualFile) }
.expireWhen { project.isDisposed }
.finishOnUiThread(ModalityState.any()) ui@{ affectingFiles ->
affectingFiles ?: return@ui
synchronized(cacheLocker) {
if (expectedCacheDropsCount != cacheDropsCount) return@ui