From 57f7c7ae9ccf490e0bfc7c1c3b2f1376245693df Mon Sep 17 00:00:00 2001 From: anna Date: Mon, 31 Dec 2012 14:44:40 +0100 Subject: [PATCH] EA-42257 - IAE: JComboBox.setSelectedIndex --- .../ide/util/scopeChooser/IgnoringComboBox.java | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/ide/util/scopeChooser/IgnoringComboBox.java b/platform/lang-impl/src/com/intellij/ide/util/scopeChooser/IgnoringComboBox.java index 62b5799f8aa0..fc1cc9528398 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/scopeChooser/IgnoringComboBox.java +++ b/platform/lang-impl/src/com/intellij/ide/util/scopeChooser/IgnoringComboBox.java @@ -51,15 +51,16 @@ public abstract class IgnoringComboBox extends JComboBox { @Override public void setSelectedIndex(final int anIndex) { - Object item = getItemAt(anIndex); - if (!(isIgnored(item))) { - super.setSelectedIndex(anIndex); + int index = anIndex + myDirection; + final int size = getModel().getSize(); + if (index < 0) { + index = size - 1; + } else if (index > size - 1) { + index = 0; } - else if (myDirection != 0) { - item = getItemAt(anIndex + myDirection); - if (!isIgnored(item)) { - super.setSelectedIndex(anIndex + myDirection); - } + Object item = getItemAt(index); + if (!isIgnored(item)) { + super.setSelectedIndex(index); } }