XorTroll / Goldleaf

🍂 Multipurpose homebrew tool for Nintendo Switch
GNU General Public License v3.0
2.65k stars 349 forks source link

[Quark] Unable to Add Paths on Quark #470

Open smookie556 opened 4 years ago

smookie556 commented 4 years ago

[ Unable to Add Paths on Quark ]

Bug description

[ After Selecting a Path, there is no pop up to name it and so path is not added. "Select Path" Button remains highlighted quark bug ]

Your setup

Bug reproduction

[ Describe as detailed as possible how to reproduce your bug, for others to be able to verify it. ]

Additional information

[ Please add some extra information or screenshots. ]

God-damnit-all commented 4 years ago

Same issue here. I have the latest JDK 13 on Windows (annoying that I can't use JDK 8 anymore).

SkyLeite commented 4 years ago

Same issue with OpenJDK 11 on Arch Linux. When running on IntelliJ I get the following exception:

Exception in thread "JavaFX Application Thread" java.lang.NullPointerException
    at com.jfoenix.skins.JFXTextFieldSkin.updateTextPos(JFXTextFieldSkin.java:109)
    at com.jfoenix.skins.JFXTextFieldSkin.layoutChildren(JFXTextFieldSkin.java:93)
    at javafx.scene.control.Control.layoutChildren(Control.java:601)
    at javafx.scene.Parent.layout(Parent.java:1204)
    at javafx.scene.Parent.layout(Parent.java:1211)
    at javafx.scene.Parent.layout(Parent.java:1211)
    at javafx.scene.Parent.layout(Parent.java:1211)
    at javafx.scene.Parent.layout(Parent.java:1211)
    at javafx.scene.Parent.layout(Parent.java:1211)
    at javafx.scene.Scene.doLayoutPass(Scene.java:576)
    at javafx.scene.Scene.preferredSize(Scene.java:1748)
    at javafx.scene.Scene$2.preferredSize(Scene.java:393)
    at com.sun.javafx.scene.SceneHelper.preferredSize(SceneHelper.java:66)
    at javafx.stage.Window$12.invalidated(Window.java:1086)
    at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:110)
    at javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:145)
    at javafx.stage.Window.setShowing(Window.java:1174)
    at javafx.stage.Window.show(Window.java:1189)
    at javafx.stage.Stage.show(Stage.java:273)
    at javafx.stage.Stage.showAndWait(Stage.java:463)
    at javafx.scene.control.HeavyweightDialog.showAndWait(HeavyweightDialog.java:162)
    at javafx.scene.control.Dialog.showAndWait(Dialog.java:345)
    at xorTroll.goldleaf.quark.ui.MainController.lambda$prepare$1(MainController.java:131)
    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.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:8879)
    at javafx.scene.control.Button.fire(Button.java:200)
    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)
    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.EventUtil.fireEventImpl(EventUtil.java:74)
    at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
    at javafx.event.Event.fireEvent(Event.java:198)
    at javafx.scene.Scene$MouseHandler.process(Scene.java:3851)
    at javafx.scene.Scene$MouseHandler.access$1200(Scene.java:3579)
    at javafx.scene.Scene.processMouseEvent(Scene.java:1849)
    at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2588)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:397)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:295)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(GlassViewEventHandler.java:434)
    at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:390)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:433)
    at com.sun.glass.ui.View.handleMouseEvent(View.java:556)
    at com.sun.glass.ui.View.notifyMouse(View.java:942)
    at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
    at com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:277)
    at java.base/java.lang.Thread.run(Thread.java:830)
XorTroll commented 4 years ago

Seems caused by JavaFX, not Quark :P

XorTroll commented 4 years ago

*JFoenix

XorTroll commented 4 years ago

https://github.com/jfoenixadmin/JFoenix/issues/1041#issuecomment-522199285 JFoenix issue, known, caused by JDK 12

XorTroll commented 4 years ago

Reopening this since it's still a relevant problem

bakugo commented 4 years ago

So let me get this straight...

Java 8 (the most widely used version by far) is intentionally not supported because ??? But newer Java versions are also not supported due to an upstream bug

So... how is anyone supposed to get this to work at all?

suppardtinks commented 4 years ago

I just ended up downgrading from:

Console firmware: [ 9.1 ]

CFW with version: [ Atmosphere 10.2 ]

Goldleaf version: [ 0.8 ] >>> [ 0.7.3 ]

Goldtree version: [ Quark 0.3.0 ] >>> [ Quark 0.2.0 ]

Java version: [ Java 13 ] >>> [ Java 8u223 ] This way i can add a path and i guess ill upgrade once this issue gets closed

God-damnit-all commented 4 years ago

So let me get this straight...

Java 8 (the most widely used version by far) is intentionally not supported because ??? But newer Java versions are also not supported due to an upstream bug

So... how is anyone supposed to get this to work at all?

Yeah, it's pretty silly.

DevL0rd commented 4 years ago

Seems caused by JavaFX, not Quark :P

lol what? So it's not caused by your lack of understanding. It's just JavaFX fault. All well guys lets pack it up. We are screwed. Quark is perfect. Nothing we can do.

DevL0rd commented 4 years ago

Seems caused by JavaFX, not Quark :P

lol what? So it's not caused by your lack of understanding. It's just JavaFX fault. All well guys lets pack it up. We are screwed. Quark is perfect. Nothing we can do.

Ok I'm just having a laugh I'm not serious, and I know that's not what you meant haha. I appreciate your work on this, and hope it is resolved in the future as I am having the same issue.

SkyLeite commented 4 years ago

Please don't shitpost on Github issues.

sweetlilmre commented 4 years ago

If you can build Goldleaf, there is a fairly easy fix for this by hijacking the JFXTextFieldSkin class.

Using Eclipse: Copy the original JFXTextFieldSkin.java into the following path: Goldleaf\Quark\src\main\java\com\jfoenix\skins

Change the constructor to:

    public JFXTextFieldSkin(T textField) {
        super(textField);
        textPane = (Pane) this.getChildren().get(0);
        textNode = textPane.getChildren().get(1);
        textTranslateX = textNode.layoutXProperty();
        textRight = textPane.widthProperty();

and change textRight to a ReadOnlyDoubleProperty.

Build a runnable JAR, move the resources from the 'resources' folder in the JAR to the root and you're good to go (not sure why this happens, I am not familiar with eclipse or Java in general).

Attached is the replacement class file (in a zip) which you can overwrite in your JAR, however I wouldn't trust a random download from the internet so using this is entirely at your own risk. JFXTextFieldSkin.zip

XorTroll commented 4 years ago

I could make use of that as a temporary solution, good to know