From ec8a82dd564b6cc5e078907301e955a6e933669e Mon Sep 17 00:00:00 2001 From: raoulvdberge Date: Sat, 22 Jul 2017 19:36:40 +0200 Subject: [PATCH] Fixed more crashes relating to scrollbar in GUIs, fixes #1377 --- CHANGELOG.md | 3 +++ .../refinedstorage/gui/GuiController.java | 6 ++++-- .../refinedstorage/gui/GuiCraftingMonitor.java | 15 +++++++++++---- .../refinedstorage/gui/GuiCraftingPreview.java | 8 +++++--- .../refinedstorage/gui/GuiReaderWriter.java | 6 ++++-- .../refinedstorage/gui/grid/GuiGrid.java | 6 ++++-- 6 files changed, 31 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ff04ba43..234909cae 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # Refined Storage Changelog +### 1.5.14 +- Fixed more crashes relating to scrollbar in GUIs (raoulvdberge) + ### 1.5.13 - Fixed Wireless Fluid Grid not using up energy (raoulvdberge) - Fixed Wireless Crafting Monitor remaining in network item list (raoulvdberge) diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiController.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiController.java index 9ad33b4d4..c2cf018d8 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiController.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiController.java @@ -35,8 +35,10 @@ public class GuiController extends GuiBase { @Override public void update(int x, int y) { - scrollbar.setEnabled(getRows() > VISIBLE_ROWS); - scrollbar.setMaxOffset(getRows() - VISIBLE_ROWS); + if (scrollbar != null) { + scrollbar.setEnabled(getRows() > VISIBLE_ROWS); + scrollbar.setMaxOffset(getRows() - VISIBLE_ROWS); + } } @Override diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiCraftingMonitor.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiCraftingMonitor.java index da1c60b49..1efb93410 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiCraftingMonitor.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiCraftingMonitor.java @@ -82,15 +82,22 @@ public class GuiCraftingMonitor extends GuiBase { @Override public void update(int x, int y) { - scrollbar.setEnabled(getRows() > VISIBLE_ROWS); - scrollbar.setMaxOffset(getRows() - VISIBLE_ROWS); + if (scrollbar != null) { + scrollbar.setEnabled(getRows() > VISIBLE_ROWS); + scrollbar.setMaxOffset(getRows() - VISIBLE_ROWS); + } if (itemSelected >= getElements().size()) { itemSelected = -1; } - cancelButton.enabled = itemSelected != -1 && getElements().get(itemSelected).getTaskId() != -1; - cancelAllButton.enabled = getElements().size() > 0; + if (cancelButton != null) { + cancelButton.enabled = itemSelected != -1 && getElements().get(itemSelected).getTaskId() != -1; + } + + if (cancelAllButton != null) { + cancelAllButton.enabled = getElements().size() > 0; + } } @Override diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiCraftingPreview.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiCraftingPreview.java index ba77e4320..bb8585d32 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiCraftingPreview.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiCraftingPreview.java @@ -78,10 +78,12 @@ public class GuiCraftingPreview extends GuiBase { @Override public void update(int x, int y) { - scrollbar.setEnabled(getRows() > VISIBLE_ROWS); - scrollbar.setMaxOffset(getRows() - VISIBLE_ROWS); + if (scrollbar != null) { + scrollbar.setEnabled(getRows() > VISIBLE_ROWS); + scrollbar.setMaxOffset(getRows() - VISIBLE_ROWS); + } - if (!startButton.enabled && isCtrlKeyDown() && isShiftKeyDown()) { + if (startButton != null && !startButton.enabled && isCtrlKeyDown() && isShiftKeyDown()) { startButton.enabled = true; } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiReaderWriter.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiReaderWriter.java index 2179bbd0e..47e322da6 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiReaderWriter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiReaderWriter.java @@ -60,8 +60,10 @@ public class GuiReaderWriter extends GuiBase { @Override public void update(int x, int y) { - scrollbar.setEnabled(getRows() > VISIBLE_ROWS); - scrollbar.setMaxOffset(getRows() - VISIBLE_ROWS); + if (scrollbar != null) { + scrollbar.setEnabled(getRows() > VISIBLE_ROWS); + scrollbar.setMaxOffset(getRows() - VISIBLE_ROWS); + } if (itemSelected >= getChannels().size()) { itemSelected = -1; 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 7d0d9b2ef..56b229273 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/grid/GuiGrid.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/grid/GuiGrid.java @@ -218,8 +218,10 @@ public class GuiGrid extends GuiBase implements IGridDisplay { STACKS = stacks; - scrollbar.setEnabled(getRows() > getVisibleRows()); - scrollbar.setMaxOffset(getRows() - getVisibleRows()); + if (scrollbar != null) { + scrollbar.setEnabled(getRows() > getVisibleRows()); + scrollbar.setMaxOffset(getRows() - getVisibleRows()); + } } @Override