From 5d08b63e91139fbaeeb4e1a26969297e9e6871cf Mon Sep 17 00:00:00 2001 From: mezz Date: Wed, 29 Jun 2016 17:41:11 -0700 Subject: [PATCH] Fix crash when using filter text and the ItemListOverlay is not open --- gradle.properties | 2 +- src/main/java/mezz/jei/ItemFilter.java | 17 ++++++----------- src/main/java/mezz/jei/gui/ItemListOverlay.java | 11 +++++++---- .../java/mezz/jei/input/GuiTextFieldFilter.java | 10 +++++----- 4 files changed, 19 insertions(+), 21 deletions(-) diff --git a/gradle.properties b/gradle.properties index 71def0c3b..3059540e6 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,4 +5,4 @@ curse_project_id=238222 version_major=3 version_minor=7 -version_patch=2 +version_patch=3 diff --git a/src/main/java/mezz/jei/ItemFilter.java b/src/main/java/mezz/jei/ItemFilter.java index d8ccceb11..3df45cb1c 100644 --- a/src/main/java/mezz/jei/ItemFilter.java +++ b/src/main/java/mezz/jei/ItemFilter.java @@ -1,5 +1,10 @@ package mezz.jei; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.util.ArrayList; +import java.util.List; + import com.google.common.base.Predicate; import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; @@ -21,11 +26,6 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; -import java.util.ArrayList; -import java.util.List; - public class ItemFilter { /** A cache for fast searches while typing or using backspace. Maps filterText to filteredItemMaps */ @@ -46,14 +46,9 @@ public void reset() { this.filteredItemMapsCache.invalidateAll(); } - @Nonnull - public String getFilterText() { - return Config.getFilterText(); - } - @Nonnull public ImmutableList getItemList() { - String[] filters = getFilterText().split("\\|"); + String[] filters = Config.getFilterText().split("\\|"); if (filters.length == 1) { String filter = filters[0]; diff --git a/src/main/java/mezz/jei/gui/ItemListOverlay.java b/src/main/java/mezz/jei/gui/ItemListOverlay.java index 879d5738b..e8c57ac10 100644 --- a/src/main/java/mezz/jei/gui/ItemListOverlay.java +++ b/src/main/java/mezz/jei/gui/ItemListOverlay.java @@ -48,7 +48,6 @@ import net.minecraft.util.ResourceLocation; import net.minecraftforge.fml.client.config.GuiButtonExt; import net.minecraftforge.fml.client.config.HoverChecker; -import org.lwjgl.input.Keyboard; public class ItemListOverlay implements IItemListOverlay, IShowsRecipeFocuses, IMouseHandler, IKeyable, ICloseable { @@ -576,14 +575,18 @@ public void setFilterText(@Nullable String filterText) { Log.error("null filterText", new NullPointerException()); return; } - searchField.setText(filterText); + Config.setFilterText(filterText); - updateLayout(); + + if (searchField != null) { + searchField.setText(filterText); + updateLayout(); + } } @Nonnull @Override public String getFilterText() { - return itemFilter.getFilterText(); + return Config.getFilterText(); } } diff --git a/src/main/java/mezz/jei/input/GuiTextFieldFilter.java b/src/main/java/mezz/jei/input/GuiTextFieldFilter.java index 0a6c68849..95dbbde59 100644 --- a/src/main/java/mezz/jei/input/GuiTextFieldFilter.java +++ b/src/main/java/mezz/jei/input/GuiTextFieldFilter.java @@ -1,5 +1,9 @@ package mezz.jei.input; +import java.awt.*; +import java.util.LinkedList; +import java.util.List; + import mezz.jei.ItemFilter; import mezz.jei.config.Config; import mezz.jei.util.ItemStackElement; @@ -8,10 +12,6 @@ import net.minecraftforge.fml.client.config.HoverChecker; import org.lwjgl.input.Keyboard; -import java.awt.*; -import java.util.LinkedList; -import java.util.List; - public class GuiTextFieldFilter extends GuiTextField { private static final int MAX_HISTORY = 100; private static final int maxSearchLength = 128; @@ -28,7 +28,7 @@ public GuiTextFieldFilter(int componentId, FontRenderer fontRenderer, int x, int public void setItemFilter(ItemFilter itemFilter) { this.itemFilter = itemFilter; - setText(itemFilter.getFilterText()); + setText(Config.getFilterText()); } public void update() {