mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-15 02:59:33 +07:00
IJPL-180572 Changed setPluginStatus to non-async to avoid race conditions
GitOrigin-RevId: 008144be19a6c3f6ae98fd4a9bee44c2eec9bdec
This commit is contained in:
committed by
intellij-monorepo-bot
parent
b94efffb44
commit
3ff192225a
@@ -350,7 +350,7 @@ object DefaultUiPluginManagerController : UiPluginManagerController {
|
||||
return PrepareToUninstallResult(dependentsMap, bundledPlugins)
|
||||
}
|
||||
|
||||
override suspend fun setPluginStatus(sessionId: String, pluginIds: List<PluginId>, enable: Boolean) {
|
||||
override fun setPluginStatus(sessionId: String, pluginIds: List<PluginId>, enable: Boolean) {
|
||||
val session = findSession(sessionId) ?: return
|
||||
setEnabledState(session, pluginIds, enable)
|
||||
}
|
||||
|
||||
@@ -75,8 +75,8 @@ interface UiPluginManagerController {
|
||||
fun getPluginInstallationState(pluginId: PluginId): PluginInstallationState
|
||||
fun getPluginInstallationStates(pluginIds: List<PluginId>): Map<PluginId, PluginInstallationState>
|
||||
fun checkPluginCanBeDownloaded(pluginUiModel: PluginUiModel, progressIndicator: ProgressIndicator?): Boolean
|
||||
fun setPluginStatus(sessionId: String, pluginIds: List<PluginId>, enable: Boolean)
|
||||
|
||||
suspend fun setPluginStatus(sessionId: String, pluginIds: List<PluginId>, enable: Boolean)
|
||||
suspend fun resetSession(sessionId: String, removeSession: Boolean, parentComponent: JComponent? = null): Map<PluginId, Boolean>
|
||||
|
||||
companion object {
|
||||
|
||||
@@ -177,12 +177,8 @@ class BackendUiPluginManagerController() : UiPluginManagerController {
|
||||
return PluginInstallerApi.getInstance().resetSession(sessionId, removeSession)
|
||||
}
|
||||
|
||||
override suspend fun setPluginStatus(sessionId: String, pluginIds: List<PluginId>, enable: Boolean) {
|
||||
withContext(Dispatchers.IO) {
|
||||
launch {
|
||||
PluginManagerApi.getInstance().setEnabledState(sessionId, pluginIds, enable)
|
||||
}
|
||||
}
|
||||
override fun setPluginStatus(sessionId: String, pluginIds: List<PluginId>, enable: Boolean) {
|
||||
awaitForResult { PluginManagerApi.getInstance().setEnabledState(sessionId, pluginIds, enable) }
|
||||
}
|
||||
|
||||
override fun applySession(sessionId: String, parent: JComponent?, project: Project?): ApplyPluginsStateResult {
|
||||
|
||||
Reference in New Issue
Block a user