<AWT Dev> [10] Review request for 8189201: [macosx] NotSerializableException during JFrame with MenuBar serialization

Semyon Sadetsky semyon.sadetsky at oracle.com
Tue Oct 31 16:05:38 UTC 2017

The updated webrev: http://cr.openjdk.java.net/~ssadetsky/8189201/webrev.02/

On 10/23/2017 01:54 PM, Semyon Sadetsky wrote:
> Actually ScreenMenu is fully removed in uninstallUI() (line 54 of 
> AquaMenuBarUI), so there is no need to make its property listener 
> Serializable, please, ignore the change in ScreenMenuPropertyListener.
> --Semyon
> On 10/23/2017 01:25 PM, Semyon Sadetsky wrote:
>> On 10/23/2017 12:58 PM, Sergey Bylokhov wrote:
>>> On 23/10/2017 12:41, Semyon Sadetsky wrote:
>>>>> The AquaMenuBarBorder class is L&F specific, and it should not be 
>>>>> serialized/deserialized. Such information(plus l&f client 
>>>>> properties/listeners/etc) should be removed from the component 
>>>>> before serialization. And during deserialization the L&F of the 
>>>>> target system should be applied.
>>>> That is valid concern. The webrev is updated 
>>>> http://cr.openjdk.java.net/~ssadetsky/8189201/webrev.01/
>>> The same is applicable to ScreenMenuPropertyListener as well because 
>>> it is also L&F specific.
>>> I assume that the changes in AccessibleAWTComponentHandler/etc are 
>>> necessary because somecode installs the listeners on the components, 
>>> since the bug is not reproduced in Metal I assume that this 
>>> listeners are installed by Aqua, in this case these listeners also 
>>> should be removed from the component before serialization.
>> ScreenMenu is not a Swing component.
>> --Semyon

More information about the awt-dev mailing list