[CWM-3862] Preserve action registration order during replacement

GitOrigin-RevId: d331ada7563425bbe79349133a3357d7418a5cc4
This commit is contained in:
Aleksandr Rasnyuk
2021-11-02 15:51:29 +00:00
committed by intellij-monorepo-bot
parent cac8c334aa
commit 9d92d609d7
@@ -1455,6 +1455,7 @@ public class ActionManagerImpl extends ActionManagerEx implements Disposable {
}
AnAction oldAction = newAction instanceof OverridingAction ? getAction(actionId) : getActionOrStub(actionId);
int oldIndex = idToIndex.getOrDefault(actionId, -1); // Valid indices >= 0
if (oldAction != null) {
if (newAction instanceof OverridingAction) {
myBaseActions.put((OverridingAction)newAction, oldAction);
@@ -1473,6 +1474,9 @@ public class ActionManagerImpl extends ActionManagerEx implements Disposable {
unregisterAction(actionId, false);
}
registerAction(actionId, newAction, pluginId);
if (oldIndex >= 0) {
idToIndex.put(actionId, oldIndex);
}
return oldAction;
}