On Sat, 27 Feb 2021 17:02:13 GMT, Alexander Zvegintsev <azveg...@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

Reply via email to