My point is the same as in 6481195 your fix always changes lead/anchor=0 to -1 even when elements exist.

I'm not so sure about clearSelection(). In JDK usages of this method we set lead/anchor to -1 explicitly when this really needed. Although I don't see enough reason to make this implicit now, anyway, why you didn't delete those explicit -1s?

--Semyon


On 02/16/2018 08:08 AM, Pankaj Bansal wrote:

Hi Semyon,

1.This fix has an additional change involved when JList.clearSelection is called. So this is not duplicate bug.

2.I think you only mentioned that the 6481195 does not talk about lead/achor and we should not change these values in that bug and create a new bug for those changes. I used this bug instead of creating a new bug.

I can’t close this bug as duplicate as this involve additional changes. I can close 6481195 as “fixed in someother bug” as it is subset of the present issue.

Regards,

Pankaj Bansal

*From:*Semyon Sadetsky
*Sent:* Friday, February 16, 2018 8:59 PM
*To:* Pankaj Bansal; swing-dev@openjdk.java.net
*Subject:* Re: <Swing Dev> [11] Review Request: JDK-4334792: Lead Index in DefaultListSelectionModel will never return to -1

You've already sent this change in 6481195 review. Please continue in 6481195  tread. The current bug  should be closed as duplicate.

On 02/15/2018 09:36 PM, Pankaj Bansal wrote:

    Hi All,

    Please review the fix for JDK 11.

    Bug:

    https://bugs.openjdk.java.net/browse/JDK-4334792

    webrev:

    http://cr.openjdk.java.net/~pbansal/4334792/webrev.00/
    <http://cr.openjdk.java.net/%7Epbansal/4334792/webrev.00/>

    Issue:

    Lead Index in DefaultListSelectionModel will never return to -1 in
    some cases as described.

    Fix:

    1) JList.setSelectionIndex(-1)

    The doc says JList.setSelectedIndex() should select a single cell,
    but it doesn't mean it should clear selection if the argument is -1.

    This will also not be fixed as this is not an issue and behavior
    is expected.

    2) JList.clearSelection()

    The proposed fix addresses this issue.

    3) ListModel.removeAllElements()/ListModel.clear

    This issue has been addressed already except the case when the
    lead/anchor is 0/0 and then
    JList.removeAllElements/ListModel.clear is called, then the
    anchor/lead is not set properly. This case is addressed in the
    proposed fix. This will also fix the
    https://bugs.openjdk.java.net/browse/JDK-6481195

    4) ListSelectionModel.setLeadSelectionIndex()

    This is not an issue as lead can be set to -1 by
    setLeadSelectionIndex, if the anchor is already set properly. This
    is expected behavior and will not be changed.

    Regards,

    Pankaj Bansal


Reply via email to