diff --git a/CHANGELOG.md b/CHANGELOG.md index 14d55a0f8..501073397 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ - Fixed possible rare dupe bug with Importer (raoulvdberge) - Fixed Shulker Box dupe bug with Destructor (raoulvdberge) - Fixed Grid crash with search history (raoulvdberge) +- Fixed Grid crash with search field (raoulvdberge) - Fixed External Storage not working without Storage Drawers (raoulvdberge) ### 1.5.14 diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/grid/GuiGrid.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/grid/GuiGrid.java index f6708aa52..c3a098ad1 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/grid/GuiGrid.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/grid/GuiGrid.java @@ -539,23 +539,25 @@ public class GuiGrid extends GuiBase implements IGridDisplay { public void mouseClicked(int mouseX, int mouseY, int clickedButton) throws IOException { super.mouseClicked(mouseX, mouseY, clickedButton); - boolean wasSearchFieldFocused = searchField.isFocused(); - - searchField.mouseClicked(mouseX, mouseY, clickedButton); - if (tabHovering >= 0 && tabHovering < grid.getTabs().size()) { grid.onTabSelectionChanged(tabHovering); } - if (clickedButton == 1 && inBounds(79, 5 + getTabDelta(), 90, 12, mouseX - guiLeft, mouseY - guiTop)) { - searchField.setText(""); - searchField.setFocused(true); + if (searchField != null) { + boolean wasSearchFieldFocused = searchField.isFocused(); - sortItems(); + searchField.mouseClicked(mouseX, mouseY, clickedButton); - updateJEI(); - } else if (wasSearchFieldFocused != searchField.isFocused()) { - saveHistory(); + if (clickedButton == 1 && inBounds(79, 5 + getTabDelta(), 90, 12, mouseX - guiLeft, mouseY - guiTop)) { + searchField.setText(""); + searchField.setFocused(true); + + sortItems(); + + updateJEI(); + } else if (wasSearchFieldFocused != searchField.isFocused()) { + saveHistory(); + } } boolean clickedClear = clickedButton == 0 && isOverClear(mouseX - guiLeft, mouseY - guiTop);