mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-14 18:05:27 +07:00
[core] IDEA-337801: change exitProcess() -> app.exit()
+ exitProcess triggers ShutDownTracker directly, avoiding normal container shutdown, which causes de-initialization ordering problems GitOrigin-RevId: 50668ba053f66d30b241f134c30888ec19f37896
This commit is contained in:
committed by
intellij-monorepo-bot
parent
ef82709c51
commit
4c9572f7b9
@@ -14,7 +14,9 @@ import com.intellij.inspectopedia.extractor.data.Inspection
|
||||
import com.intellij.inspectopedia.extractor.data.OptionsPanelInfo
|
||||
import com.intellij.inspectopedia.extractor.utils.HtmlUtils
|
||||
import com.intellij.openapi.application.ApplicationInfo
|
||||
import com.intellij.openapi.application.ApplicationManager
|
||||
import com.intellij.openapi.application.ModernApplicationStarter
|
||||
import com.intellij.openapi.application.ex.ApplicationManagerEx
|
||||
import com.intellij.openapi.components.serviceAsync
|
||||
import com.intellij.openapi.diagnostic.logger
|
||||
import com.intellij.openapi.project.ProjectManager
|
||||
@@ -50,12 +52,12 @@ private class InspectopediaExtractor : ModernApplicationStarter() {
|
||||
}
|
||||
catch (e: IOException) {
|
||||
LOG.error("Output directory does not exist and could not be created")
|
||||
exitProcess(-1)
|
||||
ApplicationManagerEx.getApplicationEx().exit( /*force: */ false, /*confirm: */ true, -1 )
|
||||
}
|
||||
|
||||
if (!Files.isDirectory(outputPath) || !Files.isWritable(outputPath)) {
|
||||
LOG.error("Output path is invalid")
|
||||
exitProcess(-1)
|
||||
ApplicationManagerEx.getApplicationEx().exit( /*force: */ false, /*confirm: */ true, -1 )
|
||||
}
|
||||
|
||||
try {
|
||||
@@ -113,7 +115,7 @@ private class InspectopediaExtractor : ModernApplicationStarter() {
|
||||
catch (e: Throwable) {
|
||||
System.err.println("Error while processing ${wrapper.extension}")
|
||||
e.printStackTrace()
|
||||
exitProcess(-1)
|
||||
ApplicationManagerEx.getApplicationEx().exit( /*force: */ false, /*confirm: */ true, -1 )
|
||||
}
|
||||
}
|
||||
|
||||
@@ -139,9 +141,9 @@ private class InspectopediaExtractor : ModernApplicationStarter() {
|
||||
}
|
||||
catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
exitProcess(-1)
|
||||
ApplicationManagerEx.getApplicationEx().exit( /*force: */ false, /*confirm: */ true, -1 )
|
||||
}
|
||||
exitProcess(0)
|
||||
ApplicationManagerEx.getApplicationEx().exit( /*force: */ false, /*confirm: */ true )
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -21,8 +21,10 @@ import com.intellij.openapi.actionSystem.ActionGroup
|
||||
import com.intellij.openapi.actionSystem.ActionManager
|
||||
import com.intellij.openapi.actionSystem.AnAction
|
||||
import com.intellij.openapi.actionSystem.impl.ActionManagerImpl
|
||||
import com.intellij.openapi.application.ApplicationManager
|
||||
import com.intellij.openapi.application.EDT
|
||||
import com.intellij.openapi.application.ModernApplicationStarter
|
||||
import com.intellij.openapi.application.ex.ApplicationManagerEx
|
||||
import com.intellij.openapi.components.serviceAsync
|
||||
import com.intellij.openapi.extensions.PluginDescriptor
|
||||
import com.intellij.openapi.extensions.PluginId
|
||||
@@ -44,7 +46,6 @@ import java.nio.charset.CodingErrorAction
|
||||
import java.nio.file.Files
|
||||
import java.nio.file.Path
|
||||
import java.util.*
|
||||
import kotlin.system.exitProcess
|
||||
|
||||
/**
|
||||
* Used in installer's "build searchable options" step.
|
||||
@@ -61,7 +62,7 @@ private class TraverseUIStarter : ModernApplicationStarter() {
|
||||
options = LinkedHashMap(),
|
||||
outputPath = Path.of(args[1]).toAbsolutePath().normalize(),
|
||||
)
|
||||
exitProcess(0)
|
||||
ApplicationManagerEx.getApplicationEx().exit( /*force: */ false, /*confirm: */ true )
|
||||
}
|
||||
catch (e: Throwable) {
|
||||
try {
|
||||
@@ -70,7 +71,7 @@ private class TraverseUIStarter : ModernApplicationStarter() {
|
||||
}
|
||||
catch (ignored: Throwable) {
|
||||
}
|
||||
exitProcess(-1)
|
||||
ApplicationManagerEx.getApplicationEx().exit( /*force: */ false, /*confirm: */ true, -1 )
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.intellij.openapi.actionSystem.ex.ActionManagerEx
|
||||
import com.intellij.openapi.application.ModernApplicationStarter
|
||||
import com.intellij.openapi.application.PathManager
|
||||
import com.intellij.openapi.application.ex.ApplicationInfoEx
|
||||
import com.intellij.openapi.application.ex.ApplicationManagerEx
|
||||
import com.intellij.openapi.components.serviceAsync
|
||||
import com.intellij.openapi.diagnostic.logger
|
||||
import com.intellij.openapi.keymap.KeymapUtil
|
||||
@@ -17,7 +18,6 @@ import kotlinx.coroutines.withContext
|
||||
import java.io.IOException
|
||||
import java.nio.file.Files
|
||||
import java.nio.file.Path
|
||||
import kotlin.system.exitProcess
|
||||
|
||||
private val LOG = logger<KeymapGenerator>()
|
||||
|
||||
@@ -66,9 +66,9 @@ private class KeymapGenerator : ModernApplicationStarter() {
|
||||
}
|
||||
catch (e: IOException) {
|
||||
LOG.error("Cannot save keymaps", e)
|
||||
exitProcess(1)
|
||||
ApplicationManagerEx.getApplicationEx().exit( /*force: */ false, /*confirm: */ true, -1)
|
||||
}
|
||||
exitProcess(0)
|
||||
ApplicationManagerEx.getApplicationEx().exit( /*force: */ false, /*confirm: */ true)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user