Soyle-Productions / soyle-stories

An application to help writers keep track of all aspects of their stories without getting in the way of the creative process and offering deep insights into potential plot holes.
Apache License 2.0
12 stars 0 forks source link

Spamming Create Opposition in Value Web Creates Error #117

Open ryanreso1993 opened 3 years ago

ryanreso1993 commented 3 years ago

Is there an existing issue for this?

✍️ Description

When the user repeatedly hits "Create Opposition" in the Thematic Values tool, an error message comes up.

🔬 Minimal Reproduction

  1. Create project
  2. Create a Theme
  3. Open the Value Web
  4. Create a Value
  5. Hit "Create Opposition" several times

Expected Result

That the program would create as many oppositions as clicked.

Actual Result

An error message arose after creating the 6th opposition.

Relevant log output

java.lang.Error: Node is not on any screen.  Hyperlink[id=null, styleClass=hyperlink editable-text opposition-value-name]'Desinty 6' BoundingBox [minX:554.4000059127807, minY:878.8000003814697, minZ:0.0, width:68.00000000000011, height:18.0, depth:0.0, maxX:622.4000059127808, maxY:896.8000003814697, maxZ:0.0]
    at com.soyle.stories.common.components.PopOutEditBox.setAvailableBounds(PopOutEditBox.kt:164)
    at com.soyle.stories.common.components.PopOutEditBox.access$setAvailableBounds(PopOutEditBox.kt:25)
    at com.soyle.stories.common.components.PopOutEditBox$popup$5.invoke(PopOutEditBox.kt:141)
    at com.soyle.stories.common.components.PopOutEditBox$popup$5.invoke(PopOutEditBox.kt:138)
    at com.soyle.stories.common.Tornado_ExtensionsKt$onChangeUntil$listener$1.changed(Tornado Extensions.kt:52)
    at com.sun.javafx.binding.ExpressionHelper$SingleChange.fireValueChangedEvent(ExpressionHelper.java:181)
    at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:80)
    at javafx.scene.Node$LazyBoundsProperty.invalidate(Node.java:9787)
    at javafx.scene.Node$MiscProperties.invalidateBoundsInLocal(Node.java:6871)
    at javafx.scene.Node.invalidateBoundsInLocal(Node.java:3464)
    at javafx.scene.Node.localBoundsChanged(Node.java:4036)
    at javafx.scene.Node.doGeomChanged(Node.java:4023)
    at javafx.scene.Node$1.doGeomChanged(Node.java:462)
    at com.sun.javafx.scene.NodeHelper.geomChangedImpl(NodeHelper.java:184)
    at com.sun.javafx.scene.NodeHelper.geomChanged(NodeHelper.java:137)
    at javafx.scene.layout.Region.widthChanged(Region.java:1001)
    at javafx.scene.layout.Region$7.invalidated(Region.java:1013)
    at javafx.beans.property.DoublePropertyBase.markInvalid(DoublePropertyBase.java:113)
    at javafx.beans.property.DoublePropertyBase.set(DoublePropertyBase.java:148)
    at javafx.scene.layout.Region.setWidth(Region.java:986)
    at javafx.scene.layout.Region.resize(Region.java:1488)
    at javafx.scene.layout.Region.layoutInArea(Region.java:2548)
    at javafx.scene.layout.Region.layoutInArea(Region.java:2459)
    at javafx.scene.layout.HBox.layoutChildren(HBox.java:647)
    at javafx.scene.Parent.layout(Parent.java:1207)
    at javafx.scene.Parent.layout(Parent.java:1214)
    at javafx.scene.Parent.layout(Parent.java:1214)
    at javafx.scene.Parent.layout(Parent.java:1214)
    at javafx.scene.Parent.layout(Parent.java:1214)
    at javafx.scene.Parent.layout(Parent.java:1214)
    at javafx.scene.Parent.layout(Parent.java:1214)
    at javafx.scene.Parent.layout(Parent.java:1214)
    at javafx.scene.Parent.layout(Parent.java:1214)
    at javafx.scene.Parent.layout(Parent.java:1214)
    at javafx.scene.Parent.layout(Parent.java:1214)
    at javafx.scene.Parent.layout(Parent.java:1214)
    at javafx.scene.Parent.layout(Parent.java:1214)
    at javafx.scene.Parent.layout(Parent.java:1214)
    at javafx.scene.Parent.layout(Parent.java:1214)
    at javafx.scene.Scene.doLayoutPass(Scene.java:576)
    at javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2510)
    at com.sun.javafx.tk.Toolkit.lambda$runPulse$2(Toolkit.java:412)
    at java.base/java.security.AccessController.doPrivileged(Unknown Source)
    at com.sun.javafx.tk.Toolkit.runPulse(Toolkit.java:411)
    at com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:438)
    at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:563)
    at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:543)
    at com.sun.javafx.tk.quantum.QuantumToolkit.pulseFromQueue(QuantumToolkit.java:536)
    at com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$11(QuantumToolkit.java:342)
    at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
    at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
    at java.base/java.lang.Thread.run(Unknown Source)

Anything else?

image

b-camphart commented 3 years ago

Btw, the "relevance log output" section is where to put the error log stuff.