diff --git a/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/views/ImageView.java b/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/views/ImageView.java index 35d640bb32d..b2fcbe576f4 100644 --- a/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/views/ImageView.java +++ b/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/views/ImageView.java @@ -387,9 +387,17 @@ public class ImageView extends ItemView { @Override public int getIndexOfItem(T item) { - for (int i = getCount() - 1; i >= 0; i--) { - if (orderedItems.get(i).item == item) { - return i; + for (Group group : groups) { + for (ItemInfo itemInfo : group.items) { + if (itemInfo.item == item) { + //if group containing item is collapsed, expand it so the item can be selected and has a valid index + if (group.isCollapsed) { + group.isCollapsed = false; + clearSelection(); //must clear selection since indices and visible items will be changing + updateLayout(); + } + return itemInfo.index; + } } } return -1; diff --git a/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/views/ItemView.java b/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/views/ItemView.java index 6b26b090d40..2956fb15d23 100644 --- a/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/views/ItemView.java +++ b/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/views/ItemView.java @@ -156,8 +156,6 @@ public abstract class ItemView { return setSelectedItems(items, true); } public final boolean setSelectedItems(Iterable items, boolean scrollIntoView) { - if (getCount() == 0) { return false; } - List indices = new ArrayList(); for (T item : items) { int index = getIndexOfItem(item);