Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8096747

[Accessibility, Mac] hello.HelloDatePicker with voiceover enabled throws NPE when a different local is selected

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: 8u40
    • Fix Version/s: 8u40
    • Component/s: javafx
    • Labels:
      None

      Description

      hello.HelloDatePicker works fine with voiceover on my Yosemite box. However it throws a NPE when I select a different local:

      dhcp-whq-twvpn-2-vpnpool-10-159-179-20:Hello ckyang$ jjfx hello.HelloDatePicker
      Exception in thread "JavaFX Application Thread" java.lang.NullPointerException
      at com.sun.glass.ui.mac.MacAccessible.accessibilityAttributeValue(MacAccessible.java:1351)
      at com.sun.glass.ui.mac.MacAccessible.NSAccessibilityUnignoredAncestor(Native Method)
      at com.sun.glass.ui.mac.MacAccessible.accessibilityAttributeValue(MacAccessible.java:1368)
      at com.sun.glass.ui.mac.MacAccessible.NSAccessibilityUnignoredAncestor(Native Method)
      at com.sun.glass.ui.mac.MacAccessible.accessibilityAttributeValue(MacAccessible.java:1368)
      at com.sun.glass.ui.mac.MacAccessible.NSAccessibilityUnignoredAncestor(Native Method)
      at com.sun.glass.ui.mac.MacAccessible.accessibilityAttributeValue(MacAccessible.java:1368)
      at com.sun.glass.ui.mac.MacAccessible.NSAccessibilityPostNotification(Native Method)
      at com.sun.glass.ui.mac.MacAccessible.sendNotification(MacAccessible.java:799)
      at javafx.scene.Node.notifyAccessibleAttributeChanged(Node.java:9581)
      at javafx.scene.control.ComboBoxBase$2.invalidated(ComboBoxBase.java:194)
      at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:109)
      at javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:144)
      at javafx.scene.control.ComboBoxBase.setShowing(ComboBoxBase.java:185)
      at javafx.scene.control.ComboBoxBase.hide(ComboBoxBase.java:400)
      at com.sun.javafx.scene.control.skin.ComboBoxBaseSkin.focusLost(ComboBoxBaseSkin.java:99)
      at com.sun.javafx.scene.control.skin.ComboBoxBaseSkin.lambda$new$287(ComboBoxBaseSkin.java:87)
      at com.sun.javafx.scene.control.skin.ComboBoxBaseSkin$$Lambda$183/1822515191.changed(Unknown Source)
      at com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:361)
      at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
      at javafx.beans.property.ReadOnlyBooleanPropertyBase.fireValueChangedEvent(ReadOnlyBooleanPropertyBase.java:72)
      at javafx.scene.Node$FocusedProperty.notifyListeners(Node.java:7697)
      at javafx.scene.Node.setFocused(Node.java:7750)
      at javafx.scene.Scene$KeyHandler.setWindowFocused(Scene.java:3903)
      at javafx.scene.Scene$KeyHandler.windowForSceneChanged(Scene.java:3921)
      at javafx.scene.Scene$KeyHandler.access$800(Scene.java:3881)
      at javafx.scene.Scene$4.invalidated(Scene.java:607)
      at javafx.beans.property.ObjectPropertyBase.markInvalid(ObjectPropertyBase.java:111)
      at javafx.beans.property.ObjectPropertyBase.set(ObjectPropertyBase.java:146)
      at javafx.scene.Scene.setWindow(Scene.java:589)
      at javafx.scene.Scene.impl_setWindow(Scene.java:639)
      at javafx.stage.Window$SceneModel.invalidated(Window.java:529)
      at javafx.beans.property.ObjectPropertyBase.markInvalid(ObjectPropertyBase.java:111)
      at javafx.beans.property.ObjectPropertyBase.set(ObjectPropertyBase.java:146)
      at javafx.stage.Window.setScene(Window.java:510)
      at javafx.stage.Stage.setScene(Stage.java:249)
      at hello.HelloDatePicker.initUI(HelloDatePicker.java:412)
      at hello.HelloDatePicker.lambda$initUI$36(HelloDatePicker.java:248)
      at hello.HelloDatePicker$$Lambda$92/735217774.handle(Unknown Source)
      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:8390)
      at com.sun.javafx.scene.control.skin.ComboBoxListViewSkin.handleControlPropertyChanged(ComboBoxListViewSkin.java:256)
      at com.sun.javafx.scene.control.skin.BehaviorSkinBase.lambda$registerChangeListener$61(BehaviorSkinBase.java:197)
      at com.sun.javafx.scene.control.skin.BehaviorSkinBase$$Lambda$171/1249480523.call(Unknown Source)
      at com.sun.javafx.scene.control.MultiplePropertyChangeListenerHandler$1.changed(MultiplePropertyChangeListenerHandler.java:55)
      at javafx.beans.value.WeakChangeListener.changed(WeakChangeListener.java:89)
      at com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:361)
      at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
      at javafx.beans.property.ObjectPropertyBase.fireValueChangedEvent(ObjectPropertyBase.java:105)
      at javafx.beans.property.ObjectPropertyBase.markInvalid(ObjectPropertyBase.java:112)
      at javafx.beans.property.ObjectPropertyBase.set(ObjectPropertyBase.java:146)
      at javafx.scene.control.ComboBoxBase.setValue(ComboBoxBase.java:150)
      at javafx.scene.control.ComboBox.updateValue(ComboBox.java:470)
      at javafx.scene.control.ComboBox.access$300(ComboBox.java:187)
      at javafx.scene.control.ComboBox$4.changed(ComboBox.java:453)
      at com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:361)
      at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
      at javafx.beans.property.ReadOnlyObjectWrapper$ReadOnlyPropertyImpl.fireValueChangedEvent(ReadOnlyObjectWrapper.java:176)
      at javafx.beans.property.ReadOnlyObjectWrapper.fireValueChangedEvent(ReadOnlyObjectWrapper.java:142)
      at javafx.beans.property.ObjectPropertyBase.markInvalid(ObjectPropertyBase.java:112)
      at javafx.beans.property.ObjectPropertyBase.set(ObjectPropertyBase.java:146)
      at javafx.scene.control.SelectionModel.setSelectedItem(SelectionModel.java:102)
      at javafx.scene.control.ComboBox$ComboBoxSelectionModel.lambda$new$154(ComboBox.java:501)
      at javafx.scene.control.ComboBox$ComboBoxSelectionModel$$Lambda$89/969439529.invalidated(Unknown Source)
      at com.sun.javafx.binding.ExpressionHelper$SingleInvalidation.fireValueChangedEvent(ExpressionHelper.java:137)
      at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
      at javafx.beans.property.ReadOnlyIntegerWrapper$ReadOnlyPropertyImpl.fireValueChangedEvent(ReadOnlyIntegerWrapper.java:176)
      at javafx.beans.property.ReadOnlyIntegerWrapper.fireValueChangedEvent(ReadOnlyIntegerWrapper.java:142)
      at javafx.beans.property.IntegerPropertyBase.markInvalid(IntegerPropertyBase.java:113)
      at javafx.beans.property.IntegerPropertyBase.set(IntegerPropertyBase.java:147)
      at javafx.scene.control.SelectionModel.setSelectedIndex(SelectionModel.java:68)
      at javafx.scene.control.SingleSelectionModel.updateSelectedIndex(SingleSelectionModel.java:215)
      at javafx.scene.control.SingleSelectionModel.select(SingleSelectionModel.java:149)
      at com.sun.javafx.scene.control.skin.ComboBoxListViewSkin.lambda$createListView$319(ComboBoxListViewSkin.java:694)
      at com.sun.javafx.scene.control.skin.ComboBoxListViewSkin$$Lambda$198/1735720217.invalidated(Unknown Source)
      at com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:349)
      at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
      at javafx.beans.property.ReadOnlyIntegerWrapper$ReadOnlyPropertyImpl.fireValueChangedEvent(ReadOnlyIntegerWrapper.java:176)
      at javafx.beans.property.ReadOnlyIntegerWrapper.fireValueChangedEvent(ReadOnlyIntegerWrapper.java:142)
      at javafx.beans.property.IntegerPropertyBase.markInvalid(IntegerPropertyBase.java:113)
      at javafx.beans.property.IntegerPropertyBase.set(IntegerPropertyBase.java:147)
      at javafx.scene.control.SelectionModel.setSelectedIndex(SelectionModel.java:68)
      at javafx.scene.control.MultipleSelectionModelBase.select(MultipleSelectionModelBase.java:361)
      at javafx.scene.control.MultipleSelectionModelBase.clearAndSelect(MultipleSelectionModelBase.java:329)
      at javafx.scene.control.ListView$ListViewBitSetSelectionModel.clearAndSelect(ListView.java:1389)
      at com.sun.javafx.scene.control.behavior.CellBehaviorBase.simpleSelect(CellBehaviorBase.java:260)
      at com.sun.javafx.scene.control.behavior.CellBehaviorBase.doSelect(CellBehaviorBase.java:224)
      at com.sun.javafx.scene.control.behavior.CellBehaviorBase.mousePressed(CellBehaviorBase.java:150)
      at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:95)
      at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:89)
      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.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:3728)
      at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3456)
      at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1732)
      at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2465)
      at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:350)
      at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:275)
      at java.security.AccessController.doPrivileged(Native Method)
      at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$348(GlassViewEventHandler.java:385)
      at com.sun.javafx.tk.quantum.GlassViewEventHandler$$Lambda$391/971519184.get(Unknown Source)
      at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:406)
      at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:384)
      at com.sun.glass.ui.View.handleMouseEvent(View.java:549)
      at com.sun.glass.ui.View.notifyMouse(View.java:921)

        Attachments

          Activity

            People

            Assignee:
            ckyang Chien Yang (Inactive)
            Reporter:
            ckyang Chien Yang (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:
              Imported: