-
Bug
-
Resolution: Fixed
-
P3
-
18, 19
-
b17
-
os_x
I have enabled Screen Magnifier on Mac OS ( Accessibility -> Zoom ) and Selecting the menu item throws the following exception
JDK 18 B35 exception
-------------------------------
java.awt.IllegalComponentStateException: component must be showing on the screen to determine its location
at java.desktop/java.awt.Component.getLocationOnScreen_NoTreeLock(Component.java:2114)
at java.desktop/java.awt.Component.getLocationOnScreen(Component.java:2088)
at java.desktop/sun.lwawt.macosx.CAccessibility$23.call(CAccessibility.java:472)
at java.desktop/sun.lwawt.macosx.CAccessibility$23.call(CAccessibility.java:470)
at java.desktop/sun.lwawt.macosx.LWCToolkit$CallableWrapper.run(LWCToolkit.java:698)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:308)
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.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
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:744)
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.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)
Step to Reproduce
---------------------------
1) Enable Screen magnifier on theMac
System Preference -> Accessibility -> Zoom -> Select ( Enable Hover Text)
2) Run the SwingSet2 Code by passing the following option
-Djavax.accessibility.screen_magnifier_present=true
3) Press "CMD" button and move the mouse pointer on different swing component on SwingSet2.
4) Click on "Options" menu and select the first menu item. If you see the exception then the bug is reproduced.
I have attached the screen recording for more information.
JDK 18 B35 exception
-------------------------------
java.awt.IllegalComponentStateException: component must be showing on the screen to determine its location
at java.desktop/java.awt.Component.getLocationOnScreen_NoTreeLock(Component.java:2114)
at java.desktop/java.awt.Component.getLocationOnScreen(Component.java:2088)
at java.desktop/sun.lwawt.macosx.CAccessibility$23.call(CAccessibility.java:472)
at java.desktop/sun.lwawt.macosx.CAccessibility$23.call(CAccessibility.java:470)
at java.desktop/sun.lwawt.macosx.LWCToolkit$CallableWrapper.run(LWCToolkit.java:698)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:308)
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.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
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:744)
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.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)
Step to Reproduce
---------------------------
1) Enable Screen magnifier on theMac
System Preference -> Accessibility -> Zoom -> Select ( Enable Hover Text)
2) Run the SwingSet2 Code by passing the following option
-Djavax.accessibility.screen_magnifier_present=true
3) Press "CMD" button and move the mouse pointer on different swing component on SwingSet2.
4) Click on "Options" menu and select the first menu item. If you see the exception then the bug is reproduced.
I have attached the screen recording for more information.