mickleness / pumpernickel

This Java project includes classes related to desktop applications, Swing, performance, image processing, data structures, and other misc topics.
https://mickleness.github.io/pumpernickel/
MIT License
66 stars 12 forks source link

Showcase: NPE #105

Closed mickleness closed 1 year ago

mickleness commented 1 year ago

I connected an external monitor and/or woke my laptop up, and the showcase app greeted me with this NPE:

java.lang.NullPointerException: Cannot invoke "java.awt.PointerInfo.getLocation()" because the return value of "java.awt.MouseInfo.getPointerInfo()" is null
    at com.pump.swing.popover.BasicPopoverVisibility.isRollover(BasicPopoverVisibility.java:149)
    at com.pump.swing.popover.BasicPopoverVisibility.isVisible(BasicPopoverVisibility.java:106)
    at com.pump.swing.popover.JPopover$4.isVisible(JPopover.java:211)
    at com.pump.swing.popover.JPopover.refreshVisibility(JPopover.java:406)
    at com.pump.swing.popover.JPopover$10.run(JPopover.java:385)
    at java.desktop/java.awt.event.InvocationEvent.dispatch$$$capture(InvocationEvent.java:318)
    at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:117)
    at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:191)
    at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:236)
    at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:234)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
    at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234)
    at java.desktop/java.awt.Dialog.show(Dialog.java:1080)
    at java.desktop/java.awt.Component.show(Component.java:1729)
    at java.desktop/java.awt.Component.setVisible(Component.java:1676)
    at java.desktop/java.awt.Window.setVisible(Window.java:1036)
    at java.desktop/java.awt.Dialog.setVisible(Dialog.java:1016)
    at com.pump.desktop.error.ErrorDialogThrowableHandler$1.run(ErrorDialogThrowableHandler.java:46)
    at com.pump.desktop.error.ErrorDialogThrowableHandler.processThrowable(ErrorDialogThrowableHandler.java:58)
    at com.pump.desktop.error.ErrorManager.process(ErrorManager.java:89)
    at com.pump.desktop.error.ErrorManager.process(ErrorManager.java:74)
    at com.pump.desktop.error.ErrorManager$1.uncaughtException(ErrorManager.java:62)
    at java.base/java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1083)
    at java.base/java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1078)
    at java.desktop/java.awt.EventDispatchThread.processException(EventDispatchThread.java:222)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:214)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

2023.05.21 at 21.17.40 EDT.zip