<Swing Dev> RFR: 8262085: Hovering Metal HTML Tooltips in different windows cause IllegalArgExc on Linux

Sergey Bylokhov serb at openjdk.java.net
Sat Feb 27 21:59:43 UTC 2021


On Sat, 27 Feb 2021 17:02:13 GMT, Alexander Zvegintsev <azvegint at openjdk.org> wrote:

> This issue occurs only under `MetalLookAndFeel` on Linux. 
> 
> It was introduced by [JDK-8040630](https://bugs.openjdk.java.net/browse/JDK-8040630) fix.
> 
>> component.setBounds(ownerX, ownerY, 1, 1);
> 
> This line adds an extra reshape call with `1x1` size right before getting another one with correct sizes.
> 
> If `MetalToolTipUI#paint()` call happens before getting correct sizes,  it calculates `paintTextR` with negative sizes for component with `1x1` size,  thus IAE is thrown.
> 
> The fix is to do not proceed with `paint()` for negative sizes.
> The provided test fails for me in 0-30s interval(before the fix), other testing(client-tier1,2,3) looks good.

Any idea why Linux is affected only?

test/jdk/javax/swing/JToolTip/FastTooltipSwitchIAE.java line 52:

> 50:         SwingUtilities.invokeLater(() -> {
> 51:             try {
> 52:                 UIManager.setLookAndFeel(new MetalLookAndFeel());

Can the test checks all installed L&F just to check for similar bugs?

-------------

PR: https://git.openjdk.java.net/jdk/pull/2761


More information about the swing-dev mailing list