IJPL-189392 updateActionsOnAdd - use relax ui dispatcher (because we check some fields, so, we can avoid WIL)

GitOrigin-RevId: a1f0415b250a523f300a525bccfdb918e4dd894f
This commit is contained in:
Vladimir Krivosheev
2025-06-14 12:08:04 +00:00
committed by intellij-monorepo-bot
parent 355a7d91cf
commit 7e4277f58e
@@ -22,10 +22,7 @@ import com.intellij.openapi.actionSystem.impl.Utils.operationName
import com.intellij.openapi.actionSystem.toolbarLayout.RIGHT_ALIGN_KEY
import com.intellij.openapi.actionSystem.toolbarLayout.ToolbarLayoutStrategy
import com.intellij.openapi.actionSystem.toolbarLayout.autoLayoutStrategy
import com.intellij.openapi.application.ApplicationManager
import com.intellij.openapi.application.EDT
import com.intellij.openapi.application.ModalityState
import com.intellij.openapi.application.asContextElement
import com.intellij.openapi.application.*
import com.intellij.openapi.application.impl.InternalUICustomization
import com.intellij.openapi.components.service
import com.intellij.openapi.diagnostic.logger
@@ -295,10 +292,17 @@ open class ActionToolbarImpl @JvmOverloads constructor(
updateActionsImmediately()
}
else {
if (myUpdateOnFirstShowJob != null) return
if (myUpdateOnFirstShowJob != null) {
return
}
launchOnceOnShow("ActionToolbarImpl.updateActionsOnAdd") {
withContext(Dispatchers.EDT) {
updateActionsFirstTime()
withContext(Dispatchers.ui(UiDispatcherKind.RELAX)) {
// a first update really
if (myForcedUpdateRequested && myLastUpdate == null) {
@Suppress("DEPRECATION")
(updateActionsImmediately())
}
}
}.apply {
myUpdateOnFirstShowJob = this
@@ -309,13 +313,6 @@ open class ActionToolbarImpl @JvmOverloads constructor(
}
}
fun updateActionsFirstTime() {
if (myForcedUpdateRequested && myLastUpdate == null) { // a first update really
@Suppress("DEPRECATION")
updateActionsImmediately()
}
}
private fun isInsideNavBar(): Boolean = ActionPlaces.NAVIGATION_BAR_TOOLBAR == myPlace
override fun removeNotify() {