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

Semyon Sadetsky semyon.sadetsky at oracle.com
Mon Oct 23 20:54:45 UTC 2017


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