alexdcramer / Susquehanna

A conlang manager
0 stars 0 forks source link

NullPointerException when rendering OrthoList #13

Closed alexdcramer closed 3 days ago

alexdcramer commented 1 week ago

Found in the process of fixing #12. As that fix allowed preloading of scenes, this bug has become more apparent than it previously was. I'm assuming that this bug has been in existence for awhile, as I made no changes to the OrthoList. Here is the stack trace:

java.lang.NullPointerException
    at net.oijon.susquehanna.gui.components.OrthoList.sortOrtho(OrthoList.java:47)
    at net.oijon.susquehanna.gui.components.OrthoList.<init>(OrthoList.java:27)
    at net.oijon.susquehanna.gui.scenes.orthography.EditOrthographyPage.buildVisible(EditOrthographyPage.java:98)
    at net.oijon.susquehanna.gui.scenes.orthography.EditOrthographyPage.refresh(EditOrthographyPage.java:32)
    at net.oijon.susquehanna.gui.scenes.orthography.EditOrthographyPage.updateOnLanguageChange(EditOrthographyPage.java:41)
    at net.oijon.susquehanna.App.setSelectedLang(App.java:206)
    at net.oijon.susquehanna.gui.scenes.file.OpenLangPage$2.handle(OpenLangPage.java:110)
    at net.oijon.susquehanna.gui.scenes.file.OpenLangPage$2.handle(OpenLangPage.java:1)
    at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
    at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
    at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
    at javafx.event.Event.fireEvent(Event.java:198)
    at javafx.scene.Node.fireEvent(Node.java:8890)
    at javafx.scene.control.Button.fire(Button.java:203)
    at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:206)
    at com.sun.javafx.scene.control.inputmap.InputMap.handle(InputMap.java:274)
    at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218)
    at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)

...and here is the orthography

===Orthography Start===
m:p'
bʲ:b'
n:m
p:n
b:p
t:b
d:t
k:d
pʲ:k
===Orthography End===

Granted, it's a bit busted already (this file was used for testing when orthographies were first added), but not to the point where it should be unable to render orthographic data...

alexdcramer commented 3 days ago

That was a surprisingly easy fix! The OrthoList still isn't the most... functional component, but that's for a different issue.