[bisq-network/bisq] Upgrade JavaFX to v14 (#4242)

Christoph Atteneder notifications at github.com
Sun Aug 2 15:02:18 UTC 2020


> @cd2357 I'm still unable to build this against current master & OpenJDK 14.0.1 with `./gradlew build` on macOS, some test fails, but `./gradlew :desktop:build` works and produces the `jar` file. However, it throws exceptions when unlocking the wallet (password input dialog doesn't appear):
> 
> ```
> java.lang.IllegalAccessException: class bisq.desktop.components.JFXTextFieldSkinBisqStyle cannot access a member of class javafx.scene.control.skin.TextFieldSkin with modifiers "private"
>         at java.base/jdk.internal.reflect.Reflection.newIllegalAccessException(Reflection.java:376)
>         at java.base/java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:647)
>         at java.base/java.lang.reflect.Field.checkAccess(Field.java:1073)
>         at java.base/java.lang.reflect.Field.get(Field.java:414)
>         at bisq.desktop.components.JFXTextFieldSkinBisqStyle.createPromptNode(JFXTextFieldSkinBisqStyle.java:139)
>         at bisq.desktop.components.JFXTextFieldSkinBisqStyle.lambda$new$1(JFXTextFieldSkinBisqStyle.java:54)
>         at com.jfoenix.skins.PromptLinesWrapper.init(PromptLinesWrapper.java:114)
>         at bisq.desktop.components.JFXTextFieldSkinBisqStyle.<init>(JFXTextFieldSkinBisqStyle.java:54)
>         at bisq.desktop.components.PasswordTextField.createDefaultSkin(PasswordTextField.java:33)
>         at javafx.scene.control.Control.doProcessCSS(Control.java:897)
>         at javafx.scene.control.Control$1.doProcessCSS(Control.java:89)
>         at com.sun.javafx.scene.control.ControlHelper.processCSSImpl(ControlHelper.java:67)
>         at com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:145)
>         at javafx.scene.Parent.doProcessCSS(Parent.java:1400)
>         at javafx.scene.Parent$1.doProcessCSS(Parent.java:125)
>         at com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98)
>         at com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:145)
>         at javafx.scene.Node.processCSS(Node.java:9542)
>         at javafx.scene.Scene.doCSSPass(Scene.java:569)
>         at javafx.scene.Scene.preferredSize(Scene.java:1781)
>         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 bisq.desktop.main.overlays.Overlay.display(Overlay.java:538)
>         at bisq.desktop.main.overlays.windows.WalletPasswordWindow.show(WalletPasswordWindow.java:145)
>         at bisq.desktop.main.MainViewModel.lambda$setupHandlers$14(MainViewModel.java:322)
>         at bisq.core.app.BisqSetup.lambda$initWallet$9(BisqSetup.java:578)
>         at bisq.core.app.WalletAppSetup.lambda$init$2(WalletAppSetup.java:167)
>         at bisq.common.reactfx.FxTimer.lambda$restart$0(FxTimer.java:93)
>         at com.sun.scenario.animation.shared.TimelineClipCore.visitKeyFrame(TimelineClipCore.java:239)
>         at com.sun.scenario.animation.shared.TimelineClipCore.playTo(TimelineClipCore.java:180)
>         at javafx.animation.Timeline.doPlayTo(Timeline.java:175)
>         at javafx.animation.AnimationAccessorImpl.playTo(AnimationAccessorImpl.java:39)
>         at com.sun.scenario.animation.shared.SingleLoopClipEnvelope.timePulse(SingleLoopClipEnvelope.java:97)
>         at javafx.animation.Animation.doTimePulse(Animation.java:1101)
>         at javafx.animation.Animation$1.lambda$timePulse$0(Animation.java:186)
>         at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
>         at javafx.animation.Animation$1.timePulse(Animation.java:185)
>         at com.sun.scenario.animation.AbstractMasterTimer.timePulseImpl(AbstractMasterTimer.java:344)
>         at com.sun.scenario.animation.AbstractMasterTimer$MainLoop.run(AbstractMasterTimer.java:267)
>         at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:559)
>         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)
> ```
> 
> and
> 
> ```
> java.lang.NullPointerException
>         at bisq.desktop.components.JFXTextFieldSkinBisqStyle.updateTextPos(JFXTextFieldSkinBisqStyle.java:95)
>         at bisq.desktop.components.JFXTextFieldSkinBisqStyle.layoutChildren(JFXTextFieldSkinBisqStyle.java:79)
>         at javafx.scene.control.Control.layoutChildren(Control.java:601)
>         at javafx.scene.Parent.layout(Parent.java:1207)
>         at javafx.scene.Parent.layout(Parent.java:1214)
>         at javafx.scene.Scene.doLayoutPass(Scene.java:576)
>         at javafx.scene.Scene.preferredSize(Scene.java:1784)
>         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 bisq.desktop.main.overlays.Overlay.display(Overlay.java:538)
>         at bisq.desktop.main.overlays.windows.WalletPasswordWindow.show(WalletPasswordWindow.java:145)
>         at bisq.desktop.main.MainViewModel.lambda$setupHandlers$14(MainViewModel.java:322)
>         at bisq.core.app.BisqSetup.lambda$initWallet$9(BisqSetup.java:578)
>         at bisq.core.app.WalletAppSetup.lambda$init$2(WalletAppSetup.java:167)
>         at bisq.common.reactfx.FxTimer.lambda$restart$0(FxTimer.java:93)
>         at com.sun.scenario.animation.shared.TimelineClipCore.visitKeyFrame(TimelineClipCore.java:239)
>         at com.sun.scenario.animation.shared.TimelineClipCore.playTo(TimelineClipCore.java:180)
>         at javafx.animation.Timeline.doPlayTo(Timeline.java:175)
>         at javafx.animation.AnimationAccessorImpl.playTo(AnimationAccessorImpl.java:39)
>         at com.sun.scenario.animation.shared.SingleLoopClipEnvelope.timePulse(SingleLoopClipEnvelope.java:97)
>         at javafx.animation.Animation.doTimePulse(Animation.java:1101)
>         at javafx.animation.Animation$1.lambda$timePulse$0(Animation.java:186)
>         at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
>         at javafx.animation.Animation$1.timePulse(Animation.java:185)
>         at com.sun.scenario.animation.AbstractMasterTimer.timePulseImpl(AbstractMasterTimer.java:344)
>         at com.sun.scenario.animation.AbstractMasterTimer$MainLoop.run(AbstractMasterTimer.java:267)
>         at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:559)
>         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)
> ```

Yes, there seem to be changes required in our custom components (access of variables/methods changed in the most up-to-data JavaFX version)

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/bisq-network/bisq/pull/4242#issuecomment-667684944
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bisq.network/pipermail/bisq-github/attachments/20200802/de5ed19a/attachment-0001.html>


More information about the bisq-github mailing list