On 07/11/2017 10:42, Semyon Sadetsky wrote:
I did get this. This spec is unrelated to the current issue. The current
issue is very simple:
AccessibleAWTComponent class is Serializable but its fields
accessibleAWTComponentHandler and accessibleAWTFocusHandler are not.
This violates the Java serialization policy and causes exception in JDK
code. The proposed fix eliminates this issue. The fields cannot be
changed to transient because this would break the logic after
deserialization of the component.
Ok, its up to you.
--Semyon
On 31/10/2017 09:05, Semyon Sadetsky wrote:
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
--
Best regards, Sergey.