Product: Aqua Data Studio
Version: 17.0.0-ga-2
Build #: 47724
Build Date: 2015-Dec-13 02:08:07 PM
Operating Environment: Windows 8.1 (6.3, amd64) / Cp1252 / en / IN / Oracle Corporation 1.8.0_40-b26
Memory: Max=4,433,379,328; Total=865,599,488; Free=663,804,232; CPUs=8
Issue: Throws 'java.lang.NullPointerException' exception on pressing 'Tab' button and then 'CTRL+Z' from keyboard.
Steps to Reproduced:
1. Open VA window
2. Add Dashboard
3. Go to Dashboard tab and double click on 'Text' option in dashboard pane
4. 'Edit Text' window open
5. Add some text in view area of 'Edit Text' window
6. Select all text by using mouse or by pressing 'CTRL+A' from keyboard
7. Click on 'Clear Formatting' icon
8. Press 'Tab' button and then press 'CTRL+Z' from keyboard.
OR
1. Open attached vizx(NPE.vizx)
2. Click on added 'Text box' window , Edit Text window opened successfully.
3. Select all text by using mouse or by pressing 'CTRL+A' from keyboard
4. Click on 'Clear Formatting' icon
5. Press 'Tab' button and then press 'CTRL+Z' from keyboard.
Actual Result: It throws 'java.lang.NullPointerException' exception in view log window
Expected Result: Cursor should display at starting position in text area and no exception should generate in view log window.
Observation:
1. Issue is observed in Windows and Linux OS
2. Broken Build: ADS 17.0.0-RC-6
Stack Trace:
12/14 11:24:56.247 hꐠᡴꅓꌄ$10.uncaughtException Uncaught Exception
java.lang.NullPointerException
at \\.\\.\\हिñçêČάй語简�?한\\.dᜫ⣲ꍹ$9.setBounds(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.dᜫ⣲ꍹ$9.damage(Unknown Source)
at javax.swing.text.DefaultCaret.setVisible(Unknown Source)
at javax.swing.text.DefaultCaret.focusLost(Unknown Source)
at java.awt.AWTEventMulticaster.focusLost(Unknown Source)
at java.awt.Component.processFocusEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.WaitDispatchSupport$2.run(Unknown Source)
at java.awt.WaitDispatchSupport$4.run(Unknown Source)
at java.awt.WaitDispatchSupport$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.WaitDispatchSupport.enter(Unknown Source)
at java.awt.Dialog.show(Unknown Source)
at java.awt.Component.show(Unknown Source)
at java.awt.Component.setVisible(Unknown Source)
at java.awt.Window.setVisible(Unknown Source)
at java.awt.Dialog.setVisible(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.mᡈꑯꉿꆭ9finally.open(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.Nꑂꍾꐛꌁ.Bp(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.bꌙꃿꍬ⡏throwsenum.a(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.qꀤ⢆ꑒꄝthis1.drV(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.R͘ꉰ7ꀊ$3.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
@asif: also look into how we're handling key bindings. On OS X, I still have to use the Ctrl+Z to perform an UNDO. I would have expected the key combination to be Cmd+Z