<Swing Dev> [9] Fix for JDK-6567433 : JComponent.updateUI() may create StackOverflowError

Alexandr Scherbatiy alexandr.scherbatiy at oracle.com
Tue Jul 12 13:32:43 UTC 2016


The fix looks good to me.

Thanks,
Alexandr.

On 7/12/2016 3:58 PM, Andrej Golovnin wrote:
> Hi Ajit,
>
> it looks good for me. Thanks!
> And you need a reviewer from the Swing team
> as I don’t have the reviewer role.
>
> Best regards,
> Andrej Golovnin
>
>> -----Original Message-----
>> From: Ajit Ghaisas
>> Sent: Friday, July 08, 2016 10:32 AM
>> To: Andrej Golovnin
>> Cc: Rajeev Chamyal; Alexander Scherbatiy; swing-dev at openjdk.java.net
>> Subject: RE: [9] Fix for JDK-6567433 : JComponent.updateUI() may create StackOverflowError
>>
>> Hi Andrej,
>>
>>      Thanks for your suggestion.
>>
>>       I have made the 'updateInProgress' member of these classes transient.
>>       This is out of the fact that - 'updateInProgress' member is just an internal field of the class that need not be preserved during serialization.
>>
>>        Here is the updated webrev. Request you to review.
>>        http://cr.openjdk.java.net/~aghaisas/6567433/webrev.03/
>>
>> Regards,
>> Ajit
>>
>>
>>
>> -----Original Message-----
>> From: Andrej Golovnin [mailto:andrej.golovnin at gmail.com]
>> Sent: Thursday, July 07, 2016 4:44 PM
>> To: Ajit Ghaisas
>> Cc: Rajeev Chamyal; Alexander Scherbatiy; swing-dev at openjdk.java.net
>> Subject: Re: [9] Fix for JDK-6567433 : JComponent.updateUI() may create StackOverflowError
>>
>> Hi Ajit,
>>
>> one more thing that I have just noticed:
>>
>> /**
>>   * Flag to indicate UI update is in progress
>>   */
>> private boolean updateInProgress;
>>
>> I think the field must be transient. In Swing every component is serializable. When updateInProgress is set to true and you serialize/deserialize the component, then the call of the #updateUI()-method on the deserialized instance would never update the UI of the deserialized component because the flag updateInProgress will never change from true to false.
>>
>> Best regards,
>> Andrej Golovnin




More information about the swing-dev mailing list