User: rednesto Date: 08 Feb 24 17:57 Revision: 4e1def6d9b32677f0d9a396a79c7140e697275d5 Summary: Fix MinecraftFacet roots writes TeamCity URL: https://ci.mcdev.io/viewModification.html?tab=vcsModificationFiles&modId=9125&personal=false Index: src/main/kotlin/facet/MinecraftFacet.kt =================================================================== --- src/main/kotlin/facet/MinecraftFacet.kt (revision 4741d19e6c1761ca8f7a35ab57a7157db90a892f) +++ src/main/kotlin/facet/MinecraftFacet.kt (revision 4e1def6d9b32677f0d9a396a79c7140e697275d5) @@ -27,7 +27,6 @@ import com.demonwav.mcdev.platform.PlatformType import com.demonwav.mcdev.util.SourceType import com.demonwav.mcdev.util.filterNotNull -import com.demonwav.mcdev.util.invokeAndWait import com.demonwav.mcdev.util.mapFirstNotNull import com.google.common.collect.HashMultimap import com.intellij.facet.Facet @@ -36,6 +35,8 @@ import com.intellij.facet.FacetTypeRegistry import com.intellij.ide.projectView.ProjectView import com.intellij.openapi.application.runReadAction +import com.intellij.openapi.application.runWriteAction +import com.intellij.openapi.application.runWriteActionAndWait import com.intellij.openapi.module.Module import com.intellij.openapi.module.ModuleGrouper import com.intellij.openapi.module.ModuleManager @@ -75,9 +76,9 @@ roots.clear() } - fun refresh() { + fun refresh() = runWriteActionAndWait { if (module.isDisposed) { - return + return@runWriteActionAndWait } // Don't allow parent types with child types in auto detected set @@ -120,14 +121,13 @@ ProjectView.getInstance(module.project).refresh() } - private fun updateRoots() = invokeAndWait { + private fun updateRoots() = runWriteAction { if (module.isDisposed) { - return@invokeAndWait + return@runWriteAction } roots.clear() val rootManager = ModuleRootManager.getInstance(module) - rootManager.contentEntries.asSequence() .flatMap { entry -> entry.sourceFolders.asSequence() } .filterNotNull { it.file }