Hello Anton,
getScreenInsets() is called from repositionSecurityWarning() also (which
is called on every LWWindowPeer.notifyReshape()).
It probably may affect performance in case when security warning is
shown while resizing a window.
Could you please check this case?
If this leads to impaired performance we may consider to use
NSApplicationDidChangeScreenParametersNotification [0]
to update cached values.
[0]
https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSApplication_Class/#//apple_ref/c/data/NSApplicationDidChangeScreenParametersNotification
Thanks,
Alexander.
On 02/13/2015 03:06 PM, Anton Nashatyrev 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.