DEXP-165126, DEXP-165127
authorDenis Fokin <denis.fokin@jetbrains.com>
Tue, 26 Sep 2017 08:33:15 +0000 (11:33 +0300)
committerDenis Fokin <denis.fokin@jetbrains.com>
Tue, 26 Sep 2017 08:35:30 +0000 (11:35 +0300)
IndexOutOfBoundsException: update failed for AnAction with ID=Vcs.ShowTabbedFileHistory: Index: 11, Size: 9 (Index: 11, Size: 9)

platform/platform-api/src/com/intellij/ui/ScrollingUtil.java
platform/platform-impl/src/com/intellij/ide/actions/Switcher.java

index d14ba4071ddf68d6c90428b7a317f33e48e22ee1..a8aa268a84b5fe18c567c2e9e3ae714ef3dd630d 100644 (file)
@@ -480,7 +480,7 @@ public class ScrollingUtil {
     if (size == 0) return;
     int index = selectionModel.getLeadSelectionIndex();
     int indexToSelect = index + direction;
-    if (indexToSelect < 0 || indexToSelect == size) {
+    if (indexToSelect < 0 || indexToSelect >= size) {
       if (cycleScrolling) {
         indexToSelect = indexToSelect < 0 ? size - 1 : 0;
       } else {
index 3604d5a4adb48eeed0af6409eeb506fe53182e1d..271492bdab5c3947e5c9bab31d4b069ce66a2092 100644 (file)
@@ -1126,7 +1126,7 @@ public class Switcher extends AnAction implements DumbAware {
       protected void selectElement(final Object element, String selectedText) {
         if (element instanceof FileInfo) {
           if (!toolWindows.isSelectionEmpty()) toolWindows.clearSelection();
-          IdeFocusManager.findInstanceByComponent(files).requestFocus(files, true).doWhenDone(() -> files.setSelectedValue(element, true));
+          files.setSelectedValue(element, true);
         }
         else {
           if (!files.isSelectionEmpty()) files.clearSelection();