User: rednesto Date: 28 Apr 23 13:34 Revision: 7be7c38ddcdb1e9368546340b0680dfdedf2e82e Summary: Move around some stuff for facet creation Attempt to fix minecraft-dev/mcdev-error-report#631 TeamCity URL: http://ci.mcdev.io:80/viewModification.html?tab=vcsModificationFiles&modId=8456&personal=false Index: src/main/kotlin/facet/MinecraftFacetDetector.kt =================================================================== --- src/main/kotlin/facet/MinecraftFacetDetector.kt (revision 2b7a0695405e204935cf7752f01c88c41abc290e) +++ src/main/kotlin/facet/MinecraftFacetDetector.kt (revision 7be7c38ddcdb1e9368546340b0680dfdedf2e82e) @@ -75,21 +75,23 @@ private fun checkNoFacet(module: Module) { val platforms = autoDetectTypes(module).ifEmpty { return } - val facetManager = FacetManager.getInstance(module) - val configuration = MinecraftFacetConfiguration() - configuration.state.autoDetectTypes.addAll(platforms) - - val facetType = MinecraftFacet.facetTypeOrNull ?: return - val facet = facetManager.createFacet(facetType, "Minecraft", configuration, null) runWriteTaskLater { // Only add the new facet if there isn't a Minecraft facet already - double check here since this // task may run much later - if (module.isDisposed || facet.isDisposed) { + if (module.isDisposed) { // Module may be disposed before we run return@runWriteTaskLater } - if (facetManager.getFacetByType(MinecraftFacet.ID) == null) { + + val facetType = MinecraftFacet.facetTypeOrNull + ?: return@runWriteTaskLater + + val facetManager = FacetManager.getInstance(module) - val model = facetManager.createModifiableModel() + val model = facetManager.createModifiableModel() + if (model.getFacetByType(MinecraftFacet.ID) == null) { + val configuration = MinecraftFacetConfiguration() + configuration.state.autoDetectTypes.addAll(platforms) + val facet = facetManager.createFacet(facetType, "Minecraft", configuration, null) model.addFacet(facet) model.commit() }