From 8f00b4cc738edfee51430dcdb523b539f5beb1a9 Mon Sep 17 00:00:00 2001 From: raoulvdberge Date: Wed, 9 Aug 2017 10:40:48 +0200 Subject: [PATCH] Fixed Grid crash with search field, fixes #1410 --- CHANGELOG.md | 1 + .../refinedstorage/gui/grid/GuiGrid.java | 24 ++++++++++--------- 2 files changed, 14 insertions(+), 11 deletions(-) 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);