summaryrefslogtreecommitdiff
path: root/platform/vcs-log/impl/src/com/intellij/vcs/log/impl/VcsLogNavigationUtil.kt
diff options
context:
space:
mode:
Diffstat (limited to 'platform/vcs-log/impl/src/com/intellij/vcs/log/impl/VcsLogNavigationUtil.kt')
-rw-r--r--platform/vcs-log/impl/src/com/intellij/vcs/log/impl/VcsLogNavigationUtil.kt9
1 files changed, 9 insertions, 0 deletions
diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/impl/VcsLogNavigationUtil.kt b/platform/vcs-log/impl/src/com/intellij/vcs/log/impl/VcsLogNavigationUtil.kt
index 00f2eac70e02..f1cba0702d58 100644
--- a/platform/vcs-log/impl/src/com/intellij/vcs/log/impl/VcsLogNavigationUtil.kt
+++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/impl/VcsLogNavigationUtil.kt
@@ -114,6 +114,15 @@ object VcsLogNavigationUtil {
}
}
+ val otherUis = manager.getLogUis(VcsLogTabLocation.TOOL_WINDOW).filterIsInstance<MainVcsLogUi>() - selectedUis.toSet()
+ otherUis.find { ui ->
+ ui.refresher.setValid(true, false)
+ predicate(ui) && ui.showCommit(hash, root, requestFocus)
+ }?.let { ui ->
+ VcsLogContentUtil.selectLogUi(project, ui, requestFocus)
+ return ui
+ }
+
val newUi = VcsProjectLog.getInstance(project).openLogTab(VcsLogFilterObject.EMPTY_COLLECTION,
VcsLogTabLocation.TOOL_WINDOW) ?: return null
if (newUi.showCommit(hash, root, requestFocus)) return newUi