From a7164a508402820089a20ca9d479f904acf205f6 Mon Sep 17 00:00:00 2001 From: austin Date: Mon, 2 Sep 2024 10:48:48 -0400 Subject: [PATCH] NaN fix --- pom.xml | 2 +- .../electrosphere/renderer/ui/elements/BitmapCharacter.java | 6 ++++++ .../renderer/ui/elements/StandardContainerElement.java | 6 ++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index ba9260b6..dd9cfc6e 100644 --- a/pom.xml +++ b/pom.xml @@ -448,7 +448,7 @@ 2.22.2 - -javaagent:./lwjglx-debug-1.0.0.jar=tn;o=trace.log + -javaagent:./lwjglx-debug-1.0.0.jar=t;o=trace.log diff --git a/src/main/java/electrosphere/renderer/ui/elements/BitmapCharacter.java b/src/main/java/electrosphere/renderer/ui/elements/BitmapCharacter.java index 9d078ec2..a54611e2 100644 --- a/src/main/java/electrosphere/renderer/ui/elements/BitmapCharacter.java +++ b/src/main/java/electrosphere/renderer/ui/elements/BitmapCharacter.java @@ -136,7 +136,13 @@ public class BitmapCharacter extends StandardElement implements DrawableElement this.internalPositionX = (int)leftRaw; this.internalPositionY = (int)topRaw; this.internalWidth = (int)Yoga.YGNodeLayoutGetWidth(yogaNode); + if(!Float.isFinite(this.internalWidth)){ + this.internalWidth = 0; + } this.internalHeight = (int)Yoga.YGNodeLayoutGetHeight(yogaNode); + if(!Float.isFinite(this.internalHeight)){ + this.internalHeight = 0; + } //calculate absolute values if(!useAbsolutePosition){ this.absoluteX = parentX + internalPositionX; diff --git a/src/main/java/electrosphere/renderer/ui/elements/StandardContainerElement.java b/src/main/java/electrosphere/renderer/ui/elements/StandardContainerElement.java index 6f715536..2409111e 100644 --- a/src/main/java/electrosphere/renderer/ui/elements/StandardContainerElement.java +++ b/src/main/java/electrosphere/renderer/ui/elements/StandardContainerElement.java @@ -252,7 +252,13 @@ public class StandardContainerElement extends StandardElement implements Contain float leftRaw = Yoga.YGNodeLayoutGetLeft(yogaNode); float topRaw = Yoga.YGNodeLayoutGetTop(yogaNode); float widthRaw = Yoga.YGNodeLayoutGetWidth(yogaNode); + if(!Float.isFinite(widthRaw)){ + widthRaw = 0; + } float heightRaw = Yoga.YGNodeLayoutGetHeight(yogaNode); + if(!Float.isFinite(heightRaw)){ + heightRaw = 0; + } LoggerInterface.loggerUI.DEBUG("" + this); LoggerInterface.loggerUI.DEBUG("pos(" + leftRaw + "," + topRaw + ") dim(" + widthRaw + "," + heightRaw + ")"); //apply the values to this component