JDK-8123906 : Long press on virtual keyboard key causes NPE
  • Type: Bug
  • Component: javafx
  • Sub-Component: scenegraph
  • Affected Version: 8
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • Submitted: 2013-08-05
  • Updated: 2015-06-17
  • Resolved: 2013-09-13
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 8
8Fixed
Related Reports
Blocks :  
Blocks :  
Relates :  
Description
Long press on a virtual keyboard key to bring up a secondary keyboard to choose additional characters causes NPE:

java.lang.NullPointerException
        at com.sun.javafx.scene.control.skin.FXVKSkin.layoutChildren(FXVKSkin.ja
va:466)
        at javafx.scene.control.Control.layoutChildren(Control.java:564)
        at javafx.scene.Parent.layout(Parent.java:1052)
        at javafx.scene.Parent.layout(Parent.java:1058)
        at javafx.scene.Group.impl_computeLayoutBounds(Group.java:159)
        at javafx.scene.Node$15.computeBounds(Node.java:3126)
        at javafx.scene.Node$LazyBoundsProperty.get(Node.java:8787)
        at javafx.scene.Node$LazyBoundsProperty.get(Node.java:8757)
        at javafx.scene.Node.getLayoutBounds(Node.java:3141)
        at javafx.stage.PopupWindow.syncWithRootBounds(PopupWindow.java:478)
        at javafx.stage.PopupWindow.access$000(PopupWindow.java:91)
        at javafx.stage.PopupWindow$1.invalidated(PopupWindow.java:106)
        at com.sun.javafx.binding.ExpressionHelper$SingleInvalidation.fireValueChangedEvent(ExpressionHelper.java:135)
        at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:80)
        at javafx.scene.Node$LazyBoundsProperty.invalidate(Node.java:8797)
        at javafx.scene.Node.impl_layoutBoundsChanged(Node.java:3296)
        at javafx.scene.Node.impl_notifyLayoutBoundsChanged(Node.java:3696)
        at javafx.scene.Node.impl_geomChanged(Node.java:3648)
        at javafx.scene.Parent$1.onChanged(Parent.java:351)
        at com.sun.javafx.collections.TrackableObservableList$1.onChanged(TrackableObservableList.java:48)
        at com.sun.javafx.collections.ListListenerHelper$Generic.fireValueChangedEvent(ListListenerHelper.java:315)
        at com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(ListListenerHelper.java:72)
        at javafx.collections.ObservableListBase.fireChange(ObservableListBase.java:233)
        at javafx.collections.ListChangeBuilder.commit(ListChangeBuilder.java:482)
        at javafx.collections.ListChangeBuilder.endChange(ListChangeBuilder.java:541)
        at javafx.collections.ObservableListBase.endChange(ObservableListBase.java:205)
        at javafx.collections.ModifiableObservableListBase.add(ModifiableObservableListBase.java:155)
        at java.util.AbstractList.add(Unknown Source)
        at com.sun.javafx.collections.VetoableListDecorator.add(VetoableListDecorator.java:200)
        at com.sun.javafx.scene.control.skin.FXVKSkin.showSecondaryVK(FXVKSkin.java:723)
        at com.sun.javafx.scene.control.skin.FXVKSkin.access$600(FXVKSkin.java:69)
        at com.sun.javafx.scene.control.skin.FXVKSkin$3.handle(FXVKSkin.java:254)
        at com.sun.javafx.scene.control.skin.FXVKSkin$3.handle(FXVKSkin.java:251)
        at com.sun.scenario.animation.shared.TimelineClipCore.visitKeyFrame(TimelineClipCore.java:231)
        at com.sun.scenario.animation.shared.TimelineClipCore.playTo(TimelineClipCore.java:172)
        at javafx.animation.Timeline.impl_playTo(Timeline.java:161)
        at javafx.animation.AnimationAccessorImpl.playTo(AnimationAccessorImpl.java:39)
        at com.sun.scenario.animation.shared.SingleLoopClipEnvelope.timePulse(SingleLoopClipEnvelope.java:99)
        at javafx.animation.Animation.impl_timePulse(Animation.java:1084)
        at javafx.animation.Animation$1.timePulse(Animation.java:168)
        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:474)
        at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:458)
        at com.sun.javafx.tk.quantum.QuantumToolkit$13.run(QuantumToolkit.java:325)
        at com.sun.glass.ui.lens.LensApplication$RunnableEvent.dispatch(LensApplication.java:169)
        at com.sun.glass.ui.lens.LensApplication._runLoop(LensApplication.java:756)
        at com.sun.glass.ui.lens.LensApplication.access$700(LensApplication.java:55)
        at com.sun.glass.ui.lens.LensApplication$4.run(LensApplication.java:815)
        at java.lang.Thread.run(Unknown Source) 
Comments
Verified and closed.
13-09-2013

This bug should have been fixed already (in graphics scrum). Can you please verify this? I don't have any Raspberry pi right now. Thanks.
13-09-2013

Removing "required-for-embedded-ea2" label, as the comitted workaround is sufficient for ea2 release.
08-08-2013

In the meantime I am going to revert the commit which causes the NPE, until the bugs mentioned above can be resolved (we'd like to get rid of the NPE in time for this weeks' promotion). Here is the commit, I will be reverting the changes done to Parent.java: changeset: 4447:ff1219a1e652 parent: 4445:074b23ebf5f1 user: Martin Sladecek <martin.sladecek@oracle.com> date: Mon Jul 29 13:33:12 2013 +0200 summary: RT-31919 ColorPicker, ArrayIndexOutOfBoundsException when saving custom color.
05-08-2013

Per Martin Sladecek (via email): The stack trace indicates that this has the same cause as RT-31918 and should be also resolved by RT-29891. If the issue is critical I suggest reverting the fix below until RT-29891 is fixed. Assigning to Martin for verification when 31918 and 29891 are resolved.
05-08-2013

The exception occurs in control code so I'm passing the bug there for initial evaluation.
05-08-2013