aboutsummaryrefslogtreecommitdiff
path: root/runtime/src/main/java
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2022-07-12 02:42:55 +0800
committershedaniel <daniel@shedaniel.me>2022-07-12 02:42:55 +0800
commit10ee1d7d00d8e5f1958af946b12aea20a7529483 (patch)
tree67b78f94e1f70ca7e83337120dc1ccf1f5d87441 /runtime/src/main/java
parentc734a77d256631d06ad454ec7f98442767718a9f (diff)
downloadRoughlyEnoughItems-10ee1d7d00d8e5f1958af946b12aea20a7529483.tar.gz
RoughlyEnoughItems-10ee1d7d00d8e5f1958af946b12aea20a7529483.tar.bz2
RoughlyEnoughItems-10ee1d7d00d8e5f1958af946b12aea20a7529483.zip
Fix #977
Diffstat (limited to 'runtime/src/main/java')
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryWidget.java22
1 files changed, 14 insertions, 8 deletions
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryWidget.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryWidget.java
index a44eeef7c..0318f692c 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryWidget.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryWidget.java
@@ -313,17 +313,23 @@ public class EntryWidget extends Slot implements DraggableStackProviderWidget {
return null;
}
- for (List<Display> displays : DisplayRegistry.getInstance().getAll().values()) {
- for (Display display : displays) {
- if (ViewsImpl.isRecipesFor(getEntries(), display)) {
- AutoCraftingEvaluator.AutoCraftingResult result = AutoCraftingEvaluator.evaluateAutoCrafting(false, false, display, null);
- if (result.successful) {
- this.display = display;
- this.displayTooltipComponent = Suppliers.memoize(() -> new DisplayTooltipComponent(display));
- return result.successfulHandler;
+ try {
+ for (List<Display> displays : DisplayRegistry.getInstance().getAll().values()) {
+ for (Display display : displays) {
+ if (ViewsImpl.isRecipesFor(getEntries(), display)) {
+ AutoCraftingEvaluator.AutoCraftingResult result = AutoCraftingEvaluator.evaluateAutoCrafting(false, false, display, null);
+ if (result.successful) {
+ this.display = display;
+ this.displayTooltipComponent = Suppliers.memoize(() -> new DisplayTooltipComponent(display));
+ return result.successfulHandler;
+ }
}
}
}
+ } catch (ConcurrentModificationException ignored) {
+ display = null;
+ displayTooltipComponent = null;
+ lastCheckTime = -1;
}
return null;