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

NullPointerException in ContextMenuContent.disposeContextMenu

    XMLWordPrintable

    Details

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

      Description

      The following is happening since Java 8u20.

      It happens in our application, when we display a nested menu in a ContextMenu.
      I've tried to isolate the problem into a reproducible test case, but couldn't reproduce the issue there.

      If you really need a test case, I will try to provide one!


      java.lang.NullPointerException
      at com.sun.javafx.scene.control.skin.ContextMenuContent.disposeContextMenu(ContextMenuContent.java:290)
      at com.sun.javafx.scene.control.skin.ContextMenuContent.hideSubmenu(ContextMenuContent.java:854)
      at com.sun.javafx.scene.control.skin.ContextMenuContent.lambda$new$312(ContextMenuContent.java:756)
      at com.sun.javafx.scene.control.skin.ContextMenuContent$$Lambda$358/12475003.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.ReadOnlyBooleanWrapper$ReadOnlyPropertyImpl.fireValueChangedEvent(ReadOnlyBooleanWrapper.java:178)
      at javafx.beans.property.ReadOnlyBooleanWrapper$ReadOnlyPropertyImpl.access$100(ReadOnlyBooleanWrapper.java:148)
      at javafx.beans.property.ReadOnlyBooleanWrapper.fireValueChangedEvent(ReadOnlyBooleanWrapper.java:144)
      at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:110)
      at javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:143)
      at javafx.scene.control.Menu.setShowing(Menu.java:187)
      at javafx.scene.control.Menu.hide(Menu.java:402)
      at com.sun.javafx.scene.control.skin.ContextMenuContent$2.changed(ContextMenuContent.java:829)
      at com.sun.javafx.scene.control.skin.ContextMenuContent$2.changed(ContextMenuContent.java:818)
      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.ReadOnlyBooleanWrapper$ReadOnlyPropertyImpl.fireValueChangedEvent(ReadOnlyBooleanWrapper.java:178)
      at javafx.beans.property.ReadOnlyBooleanWrapper$ReadOnlyPropertyImpl.access$100(ReadOnlyBooleanWrapper.java:148)
      at javafx.beans.property.ReadOnlyBooleanWrapper.fireValueChangedEvent(ReadOnlyBooleanWrapper.java:144)
      at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:110)
      at javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:143)
      at javafx.stage.Window.setShowing(Window.java:841)
      at javafx.stage.Window.hide(Window.java:866)
      at javafx.stage.PopupWindow.hide(PopupWindow.java:465)
      at javafx.scene.control.ContextMenu.hide(ContextMenu.java:300)
      at javafx.stage.PopupWindow.doAutoHide(PopupWindow.java:835)
      at javafx.stage.PopupWindow$PopupEventRedirector.handleFocusUngrabEvent(PopupWindow.java:1032)
      at javafx.stage.PopupWindow$PopupEventRedirector.handleRedirectedEvent(PopupWindow.java:969)
      at com.sun.javafx.event.EventRedirector.dispatchCapturingEvent(EventRedirector.java:106)
      at com.sun.javafx.event.CompositeEventDispatcher.dispatchCapturingEvent(CompositeEventDispatcher.java:43)
      at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:52)
      at com.sun.javafx.event.EventRedirector.redirectEvent(EventRedirector.java:124)
      at com.sun.javafx.event.EventRedirector.dispatchCapturingEvent(EventRedirector.java:103)
      at com.sun.javafx.event.CompositeEventDispatcher.dispatchCapturingEvent(CompositeEventDispatcher.java:43)
      at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:52)
      at com.sun.javafx.event.EventRedirector.redirectEvent(EventRedirector.java:124)
      at com.sun.javafx.event.EventRedirector.dispatchCapturingEvent(EventRedirector.java:103)
      at com.sun.javafx.event.CompositeEventDispatcher.dispatchCapturingEvent(CompositeEventDispatcher.java:43)
      at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:52)
      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 com.sun.javafx.stage.WindowPeerListener.focusUngrab(WindowPeerListener.java:105)
      at com.sun.javafx.tk.quantum.GlassWindowEventHandler.run(GlassWindowEventHandler.java:93)
      at com.sun.javafx.tk.quantum.GlassWindowEventHandler.run(GlassWindowEventHandler.java:40)
      at java.security.AccessController.doPrivileged(Native Method)
      at com.sun.javafx.tk.quantum.GlassWindowEventHandler.handleWindowEvent(GlassWindowEventHandler.java:133)
      at com.sun.glass.ui.Window.handleWindowEvent(Window.java:1229)
      at com.sun.glass.ui.Window.notifyFocusUngrab(Window.java:1217)
      at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
      at com.sun.glass.ui.win.WinApplication.lambda$null$141(WinApplication.java:102)
      at com.sun.glass.ui.win.WinApplication$$Lambda$37/32678821.run(Unknown Source)
      at java.lang.Thread.run(Thread.java:745)

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              jgiles Jonathan Giles
              Reporter:
              cschudtjfx Christian Schudt (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Imported: