<Swing Dev> RFR JDK-8245785: javax.swing.JTabbedPane cannot be deserialized
Prasanta Sadhukhan
prasanta.sadhukhan at oracle.com
Tue Jul 14 14:11:48 UTC 2020
On 13-Jul-20 8:07 PM, Philip Race wrote:
> The regression test needs some clean up.
> It seems to be a copy+paste of the submitter's test case
> including the comment in German which can be removed.
> Also IMO all the English comments are stating the obvious and don't
> need to be there.
>
> And use ByteArray based streams not File streams.
OK. Modified webrev
http://cr.openjdk.java.net/~psadhukhan/8245785/webrev.3/
Regards
Prasanta
> There are fewer clean up issues if you do that.
>
> -phil.
>
>
> On 7/13/20, 7:10 AM, Prasanta Sadhukhan wrote:
>>
>> On 13-Jul-20 11:30 AM, Sergey Bylokhov wrote:
>>> On 11.07.2020 23:05, Prasanta Sadhukhan wrote:
>>>>
>>>> It's just a null check so I guess we can keep getTabCount() check
>>>> in-place. Also, there are no other fields is missing which is
>>>> required.
>>>
>>> But as far as I understand this check is not needed, the field
>>> initialized to non-null
>>> value in the constructor. And should not be null after
>>> deserialization, otherwise, you
>>> will need to add the null checks in every place where the field is
>>> used.
>>>
>> OK. Null check removed
>> http://cr.openjdk.java.net/~psadhukhan/8245785/webrev.2/
>>
>> Regards
>> Prasanta
>>>>
>>>> Regards
>>>> Prasanta
>>>>>
>>>>>>
>>>>>> if JTabbedPane has few tabs/pages, all are deserialized. This is
>>>>>> also tested in the testcase.
>>>>>>
>>>>>> http://cr.openjdk.java.net/~psadhukhan/8245785/webrev.1/
>>>>>>
>>>>>> Regards
>>>>>> Prasanta
>>>>>> On 09-Jul-20 3:28 PM, Sergey Bylokhov wrote:
>>>>>>> Hi, Prasanta.
>>>>>>>
>>>>>>> Why the "pages" object is not instantiated when deserialized?
>>>>>>> What will happen if the JTabbedPane
>>>>>>> will have a few(more than zero) pages before deserialization,
>>>>>>> will all pages be serialized/deserialized in this case?
>>>>>>>
>>>>>>> On 09.07.2020 01:14, Prasanta Sadhukhan wrote:
>>>>>>>> Hi All,
>>>>>>>>
>>>>>>>> Please review a fix for an issue where deserializing a
>>>>>>>> serialized JTabbedPane-object results in NullPointerException.
>>>>>>>>
>>>>>>>> The NPE is result of tabbed "pages" object not being
>>>>>>>> instantiated when deserialized.
>>>>>>>>
>>>>>>>> Proposed fix is to add a null check for "pages" object.
>>>>>>>>
>>>>>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8245785
>>>>>>>>
>>>>>>>> webrev: http://cr.openjdk.java.net/~psadhukhan/8245785/webrev.0/
>>>>>>>>
>>>>>>>> Regards
>>>>>>>> Prasanta
>>>>>>>
>>>>>>>
>>>>>
>>>>>
>>>
>>>
More information about the swing-dev
mailing list