<Swing Dev> RFR JDK-8245785: javax.swing.JTabbedPane cannot be deserialized
Alexander Zuev
alexander.zuev at oracle.com
Wed Jul 15 18:56:25 UTC 2020
Looks good now.
/Alex
On 7/15/2020 6:26 AM, Prasanta Sadhukhan wrote:
>
> On 14-Jul-20 7:41 PM, Prasanta Sadhukhan wrote:
>>
>> 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/
> Any further comments on this?
>>
>> 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