HanSolo/tilesfx

Sparkled Line Tile Runtime Exception

krishnak opened this issue · 0 comments

I have two Sparkled line tiles, I bind their valueProperty with

sparkLineTile.valueProperty().bind(doubleproperty_to_display);
When the doubleproperty_to_display changes the Tile shows the values.

However one of the tile throws a run time exception and freezes, where as the other tile continues to work. The exception is as follows

Exception in thread "Thread-5" java.lang.NullPointerException: Cannot invoke "com.sun.javafx.text.TextRun.getAscent()" because "run" is null
        at javafx.graphics/com.sun.javafx.text.PrismTextLayout.shape(PrismTextLayout.java:845)
        at javafx.graphics/com.sun.javafx.text.PrismTextLayout.layout(PrismTextLayout.java:1113)
        at javafx.graphics/com.sun.javafx.text.PrismTextLayout.ensureLayout(PrismTextLayout.java:230)
        at javafx.graphics/com.sun.javafx.text.PrismTextLayout.getBounds(PrismTextLayout.java:256)
        at javafx.graphics/javafx.scene.text.Text.getLogicalBounds(Text.java:432)
        at javafx.graphics/javafx.scene.text.Text.doComputeLayoutBounds(Text.java:1137)
        at javafx.graphics/javafx.scene.text.Text$1.doComputeLayoutBounds(Text.java:143)
        at javafx.graphics/com.sun.javafx.scene.shape.TextHelper.computeLayoutBoundsImpl(TextHelper.java:95)
        at javafx.graphics/com.sun.javafx.scene.NodeHelper.computeLayoutBounds(NodeHelper.java:108)
        at javafx.graphics/javafx.scene.Node$13.computeBounds(Node.java:3474)
        at javafx.graphics/javafx.scene.Node$LazyBoundsProperty.get(Node.java:9749)
        at javafx.graphics/javafx.scene.Node$LazyBoundsProperty.get(Node.java:9740)
        at javafx.graphics/javafx.scene.Node.getLayoutBounds(Node.java:3489)
        at eu.hansolo.tilesfx.skins.SparkLineTileSkin.resizeDynamicText(SparkLineTileSkin.java:523)
        at eu.hansolo.tilesfx.skins.SparkLineTileSkin.handleCurrentValue(SparkLineTileSkin.java:402)
        at eu.hansolo.tilesfx.skins.TileSkin.lambda$new$2(TileSkin.java:126)
        at javafx.base/com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:360)
        at javafx.base/com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:91)
        at javafx.base/javafx.beans.property.DoublePropertyBase.fireValueChangedEvent(DoublePropertyBase.java:107)
        at javafx.base/javafx.beans.property.DoublePropertyBase.markInvalid(DoublePropertyBase.java:114)
        at javafx.base/javafx.beans.property.DoublePropertyBase.set(DoublePropertyBase.java:148)
        at eu.hansolo.tilesfx.Tile$2.set(Tile.java:896)
        at eu.hansolo.tilesfx.Tile$1.update(Tile.java:851)
        at eu.hansolo.tilesfx.Tile$1.invalidated(Tile.java:856)
        at javafx.base/javafx.beans.property.DoublePropertyBase.markInvalid(DoublePropertyBase.java:113)
        at javafx.base/javafx.beans.property.DoublePropertyBase$Listener.invalidated(DoublePropertyBase.java:261)
        at javafx.base/com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:360)
        at javafx.base/com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:91)
        at javafx.base/javafx.beans.property.DoublePropertyBase.fireValueChangedEvent(DoublePropertyBase.java:107)
        at javafx.base/javafx.beans.property.DoublePropertyBase.markInvalid(DoublePropertyBase.java:114)
        at javafx.base/javafx.beans.property.DoublePropertyBase.set(DoublePropertyBase.java:148)
        at krishna.core.dataobject.ScripTileObjectController.setLastTradedPrice(ScripTileObjectController.java:156)