Goldleaf icon indicating copy to clipboard operation
Goldleaf copied to clipboard

[Quark] Unable to Add Paths on Quark

Open smookie556 opened this issue 5 years ago • 14 comments

[ 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

  • Console firmware: [ 9.1 ]

  • CFW with version: [ Atmosphere 10.1 ]

  • Goldleaf version: [ 0.8 ]

  • Goldtree version: [ Quark 0.3.0 ]

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. ]

smookie556 avatar Jan 02 '20 02:01 smookie556

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

God-damnit-all avatar Jan 05 '20 00:01 God-damnit-all

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)

SkyLeite avatar Jan 09 '20 18:01 SkyLeite

Seems caused by JavaFX, not Quark :P

XorTroll avatar Jan 09 '20 18:01 XorTroll

*JFoenix

XorTroll avatar Jan 09 '20 18:01 XorTroll

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

XorTroll avatar Jan 09 '20 18:01 XorTroll

Reopening this since it's still a relevant problem

XorTroll avatar Jan 11 '20 17:01 XorTroll

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?

bakugo avatar Jan 11 '20 17:01 bakugo

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

suppardtinks avatar Jan 12 '20 01:01 suppardtinks

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.

God-damnit-all avatar Jan 12 '20 03:01 God-damnit-all

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 avatar Mar 17 '20 21:03 DevL0rd

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.

DevL0rd avatar Mar 17 '20 21:03 DevL0rd

Please don't shitpost on Github issues.

SkyLeite avatar Mar 18 '20 15:03 SkyLeite

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

sweetlilmre avatar May 05 '20 15:05 sweetlilmre

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

XorTroll avatar May 05 '20 15:05 XorTroll