<Swing Dev> RFR JDK-8245785: javax.swing.JTabbedPane cannot be deserialized
Philip Race
philip.race at oracle.com
Wed Jul 15 18:59:08 UTC 2020
+1
-phil.
On 7/15/20, 11:56 AM, Alexander Zuev wrote:
> 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