On Tue, 28 May 2024 02:59:24 GMT, Prasanta Sadhukhan <psadhuk...@openjdk.org> wrote:
>> Issue is observed in JTable demo in SwingSet2 whereby if we set the focus on >> a table cell (or click on a table cell) and Press Ctrl+F1 (show/hide >> tooltip) on a cell of JTable then NullpointerException is seen >> >>> Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException: >>> Cannot invoke "java.awt.event.MouseEvent.getLocationOnScreen()" because >>> "this.mouseEvent" is null >> >> This is because ToolTip associated with JTable demo button at top of >> SwingSet2 has MouseMotion Listener which causes [mouseEvent to be >> null](https://github.com/openjdk/jdk/blame/da3001daf79bf943d6194d9fd60250d519b9680d/src/java.desktop/share/classes/javax/swing/ToolTipManager.java#L573) >> when mouse exits the demo button area and enter the table cells area where >> show/hide tooltip causes showTipWindow to be called trying to access >> `mouseEvent` which is null. >> Fix is made to check for null in this kind of cases..No regression test is >> added as it can be checked easily with SwingSet2.. > > Prasanta Sadhukhan has updated the pull request incrementally with one > additional commit since the last revision: > > Additional null check src/java.desktop/share/classes/javax/swing/ToolTipManager.java line 271: > 269: toFind = mouseEvent.getLocationOnScreen(); > 270: } else { > 271: toFind = screenLocation; Why `toFind` is set to `screenLocation` ? src/java.desktop/share/classes/javax/swing/ToolTipManager.java line 310: > 308: } > 309: } else { > 310: if (mouseEvent != null) { this may not be in the scope of changes but is it worth spending some time for code formatting ? Looks very messy. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/19379#discussion_r1616579105 PR Review Comment: https://git.openjdk.org/jdk/pull/19379#discussion_r1616580635