<Swing Dev> RFR JDK-8245785: javax.swing.JTabbedPane cannot be deserialized

Prasanta Sadhukhan prasanta.sadhukhan at oracle.com
Mon Jul 13 14:10:40 UTC 2020


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