[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