<AWT Dev> [9] Review request for 8072069: Toolkit.getScreenInsets() doesn't update if insets change

Sergey Bylokhov sergey.bylokhov at oracle.com
Fri Feb 13 17:09:21 UTC 2015


Hi, Anton.
This cache was added intentionally, but the reason was not a performance but a way to skip locking against Appkit thread. Because in some cases we got a deadlocks. Your suggestion to use NSApplicationDidChangeScreenParametersNotificationin is correct way to fix this. Do you try to implement it?

----- anton.nashatyrev at oracle.com wrote:

> Hello,
> 
>      could you please review the following fix:
> 
> fix: http://cr.openjdk.java.net/~anashaty/8072069/9/webrev.00/ 
> <http://cr.openjdk.java.net/%7Eanashaty/8072069/9/webrev.00/>
> bug: https://bugs.openjdk.java.net/browse/JDK-8072069
> 
>      Problem: Toolkit.getScreenInsets() returns old value after Dock 
> moved/resized on Mac
> 
>      Fix: remove the value caching and always ask native for insets.
> This shouldn't cause any performance drawbacks since the 
> getScreenInsets() is rarely called (mostly on window init and on popup
> 
> positioning).
> 
> Thanks!
> Anton.


More information about the awt-dev mailing list