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

Anton Nashatyrev anton.nashatyrev at oracle.com
Mon Feb 16 16:00:55 UTC 2015


Hi Sergey,

     No I didn't try it yet, but it looks like 
NSApplicationDidChangeScreenParametersNotification has no means to 
distinguish between display resolution change, attaching new display or 
insets changes.
This way 
<http://stackoverflow.com/questions/7901826/cocoa-dock-fires-nsapplicationdidchangescreenparametersnotification> 
to check seems to me a bit weird.
     Will it be acceptable if we receive the notification twice in case 
of screen resolution change? (from both 
NSApplicationDidChangeScreenParametersNotification and 
CGDisplayReconfigurationCallBack)

     What do you think?

Thanks!
Anton.

On 13.02.2015 20:09, Sergey Bylokhov wrote:
> 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.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/awt-dev/attachments/20150216/e7d907e4/attachment.html>


More information about the awt-dev mailing list