Skip to content

Commit

Permalink
Fix crash when using filter text and the ItemListOverlay is not open
Browse files Browse the repository at this point in the history
  • Loading branch information
mezz committed Jun 30, 2016
1 parent c88aa6c commit 5d08b63
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 21 deletions.
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ curse_project_id=238222

version_major=3
version_minor=7
version_patch=2
version_patch=3
17 changes: 6 additions & 11 deletions src/main/java/mezz/jei/ItemFilter.java
Original file line number Diff line number Diff line change
@@ -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;
Expand All @@ -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 */
Expand All @@ -46,14 +46,9 @@ public void reset() {
this.filteredItemMapsCache.invalidateAll();
}

@Nonnull
public String getFilterText() {
return Config.getFilterText();
}

@Nonnull
public ImmutableList<ItemStackElement> getItemList() {
String[] filters = getFilterText().split("\\|");
String[] filters = Config.getFilterText().split("\\|");

if (filters.length == 1) {
String filter = filters[0];
Expand Down
11 changes: 7 additions & 4 deletions src/main/java/mezz/jei/gui/ItemListOverlay.java
Original file line number Diff line number Diff line change
Expand Up @@ -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 {

Expand Down Expand Up @@ -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();
}
}
10 changes: 5 additions & 5 deletions src/main/java/mezz/jei/input/GuiTextFieldFilter.java
Original file line number Diff line number Diff line change
@@ -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;
Expand All @@ -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;
Expand All @@ -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() {
Expand Down

0 comments on commit 5d08b63

Please sign in to comment.