mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
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:
committed by
intellij-monorepo-bot
parent
355a7d91cf
commit
7e4277f58e
+11
-14
@@ -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() {
|
||||
|
||||
Reference in New Issue
Block a user