<Swing Dev> [9] Review Request for 8078514: Nightly: api/javax_swing/DefaultRowSorter/index_ModelStructChanged failure
Semyon Sadetsky
semyon.sadetsky at oracle.com
Mon Nov 2 13:51:53 UTC 2015
On 5/26/2015 1:38 PM, Alexander Scherbatiy wrote:
> On 5/21/2015 5:34 PM, Semyon Sadetsky wrote:
>> Hello,
>>
>> I have decided to remake the fix.
>> The reason for that is sun.swing.FilePane class. One of its inner
>> classes extends DefaultRowSorter and relays on lazy initialization of
>> the DefaultRowSorter in unsorted state. After removing the lazy init
>> the FilePane crashes with AOB exception.
>
> It looks like FilePane tries to call some operations like
> DefaultRowSorter.convertRowIndexToView(int) on non updated
> DefaultRowSorter.
> Is it possible to fix it in FilePane?
I fixed the FilePane. Please review the updated webrev:
http://cr.openjdk.java.net/~ssadetsky/8078514/webrev.02/
>
> Thanks,
> Alexandr.
>
>> This can be fixed, but I think it will be too big change for the
>> issue and users can be already using the DefaultRowSorter in the
>> similar way.
>> Here is the new approach:
>> http://cr.openjdk.java.net/~ssadetsky/8078514/webrev.01/
>> It looks a little bit risky ,but all related tests have been passed.
>>
>> --Semyon
>>
>> On 5/19/2015 2:03 PM, Alexander Scherbatiy wrote:
>>> On 5/15/2015 5:49 PM, Semyon Sadetsky wrote:
>>>> Hello,
>>>>
>>>> Please review fix for JDK9:
>>>>
>>>> bug: https://bugs.openjdk.java.net/browse/JDK-8078514
>>>> webrev: http://cr.openjdk.java.net/~ssadetsky/8078514/webrev.00/
>>>
>>> DefaultRowSorter
>>> 221 allChanged();
>>> 222 modelRowCount = getModelWrapper().getRowCount();
>>>
>>> - This can be moved to a private method that will be used both in
>>> the public modelStructureChanged() and setModelWrapper() methods.
>>>
>>> 532 public void sort()
>>> - Could the rawFilter be null in case viewToModel != null an
>>> !isUnsorted() ?
>>> - isUnsorted() method is called twice. Is it possible to store its
>>> value to a variable and use it?
>>>
>>> Thanks,
>>> Alexandr.
>>>
>>>>
>>>> The 6894632 fix violated a contract between the table and its row
>>>> sorter: the sorter should receive TableChanged events even if table
>>>> is not sorted actually.
>>>> Another way to fix 6894632 is to initialize sorter internal
>>>> structures instantly. The last is applied in the fix.
>>>>
>>>> --Semyon
>>>>
>>>
>>
>
More information about the swing-dev
mailing list