<AWT Dev> [12]RFR : JDK-8014503: AWT Choice implementation should be made consistent across platforms.
Sergey Bylokhov
Sergey.Bylokhov at oracle.com
Thu Jul 5 14:40:26 UTC 2018
Hi, Krishna
If I read the code in LWChoicePeer.java file correctly, then you can fix
the problem by dropping the method below in JComboBoxDelegate class:
/**
* We should post ITEM_STATE_CHANGED event when the same element is
* reselected.
*/
@Override
public void setSelectedItem(final Object anObject) {
Are you sure that storing the index of the selected element in
XChoicePeer class is enough? Because the element itself at this index
may change.
On 04/07/2018 13:48, Krishna Addepalli wrote:
> Hi Prasanta/Sergey,
>
> Could you review this ?
>
> @Ajit, Shashi – Thanks for your review.
>
> Thanks,
>
> Krishna
>
> *From:* Ajit Ghaisas
> *Sent:* Tuesday, July 3, 2018 3:31 PM
> *To:* Krishna Addepalli <krishna.addepalli at oracle.com>; Shashidhara
> Veerabhadraiah <shashidhara.veerabhadraiah at oracle.com>;
> awt-dev at openjdk.java.net
> *Subject:* RE: <AWT Dev> [12]RFR : JDK-8014503: AWT Choice
> implementation should be made consistent across platforms.
>
> Hi Krishna,
>
> Thanks for the explanation. Changes look good.
>
> You will need a ‘R’ reviewer to review this though.
>
> Regards,
>
> Ajit
>
> *From:* Krishna Addepalli
> *Sent:* Tuesday, July 03, 2018 2:20 PM
> *To:* Ajit Ghaisas; Shashidhara Veerabhadraiah; awt-dev at openjdk.java.net
> <mailto:awt-dev at openjdk.java.net>
> *Subject:* RE: <AWT Dev> [12]RFR : JDK-8014503: AWT Choice
> implementation should be made consistent across platforms.
>
> Hi Ajit,
>
> I don’t think we can use ‘skipPostMessage’ for this check for the
> following reasons:
>
> 1.‘skipPostMessage’ is intended to filter out item unselected messages,
> which are posted in case of JComboBox.
>
> 2.I need to store the previously selected index to compare against the
> current index, and I’ll need to change the skipPostMessage to integer
> type – although doable, will be a maintenance headache.
>
> 3.As much as I have seen, skipPostMessage variable is restored to false
> in the same function call (select and remove), whereas for
> selectedIndex, this won’t be the case.
>
> 4.Also, remove function is not called from here, but from outside. So,
> the state will clash, when I save the last selected index, and
> immediately remove gets called.
>
> Hope this clarifies.
>
> Thanks,
>
> Krishna
>
> *From:* Ajit Ghaisas
> *Sent:* Tuesday, July 3, 2018 1:15 PM
> *To:* Shashidhara Veerabhadraiah <shashidhara.veerabhadraiah at oracle.com
> <mailto:shashidhara.veerabhadraiah at oracle.com>>; Krishna Addepalli
> <krishna.addepalli at oracle.com <mailto:krishna.addepalli at oracle.com>>;
> awt-dev at openjdk.java.net <mailto:awt-dev at openjdk.java.net>
> *Subject:* RE: <AWT Dev> [12]RFR : JDK-8014503: AWT Choice
> implementation should be made consistent across platforms.
>
> Can we use existing ‘skipPostMessage’ member for this check instead of
> introducing additional member in LWChoicePeer class?
>
> *From:* Shashidhara Veerabhadraiah
> *Sent:* Tuesday, July 03, 2018 12:16 PM
> *To:* Krishna Addepalli; awt-dev at openjdk.java.net
> <mailto:awt-dev at openjdk.java.net>
> *Subject:* Re: <AWT Dev> [12]RFR : JDK-8014503: AWT Choice
> implementation should be made consistent across platforms.
>
> Hi Krishna, The changes looks fine.
>
> Please don’t forget to add the bug id to the test before the push. And
> add this bug JDK-8197810 “as relate to” the current bug(in bug db).
>
> Thanks and regards,
>
> Shashi
>
> *From:* Krishna Addepalli
> *Sent:* Tuesday, July 3, 2018 8:00 AM
> *To:* Shashidhara Veerabhadraiah <shashidhara.veerabhadraiah at oracle.com
> <mailto:shashidhara.veerabhadraiah at oracle.com>>;
> awt-dev at openjdk.java.net <mailto:awt-dev at openjdk.java.net>
> *Subject:* RE: <AWT Dev> [12]RFR : JDK-8014503: AWT Choice
> implementation should be made consistent across platforms.
>
> Hi Shashi,
>
> Thanks for the review. Here is the updated webrev:
> http://cr.openjdk.java.net/~kaddepalli/8014503/webrev01/
>
> As for the test, it has already been corrected and pushed in JDK-8197810.
>
> Thanks,
>
> Krishna
>
> *From:* Shashidhara Veerabhadraiah
> *Sent:* Monday, July 2, 2018 11:30 PM
> *To:* Krishna Addepalli <krishna.addepalli at oracle.com
> <mailto:krishna.addepalli at oracle.com>>; awt-dev at openjdk.java.net
> <mailto:awt-dev at openjdk.java.net>
> *Subject:* RE: <AWT Dev> [12]RFR : JDK-8014503: AWT Choice
> implementation should be made consistent across platforms.
>
> Hi Krishna, Below are the comments on the fix that you made.
>
> 1.Based on the getSelectedIndex(), I think the selectedIndex should be
> initialized to -1. 0 seems to be a valid value.
>
> 2.A test may be required to test out the behavior because as per the
> comment in the bug, the test SelecteCurrentItemTest.html should fail now
> on all platforms since the passing platforms software was changed.
>
> Other than that the changes looks fine.
>
> Thanks and regards,
> shashi
>
> *From:* Krishna Addepalli
> *Sent:* Monday, July 2, 2018 3:10 PM
> *To:* awt-dev at openjdk.java.net <mailto:awt-dev at openjdk.java.net>
> *Subject:* <AWT Dev> [12]RFR : JDK-8014503: AWT Choice implementation
> should be made consistent across platforms.
>
> Hi All,
>
> Please review a fix for JDK-8014503:
> https://bugs.openjdk.java.net/browse/JDK-8014503
>
> Webrev: http://cr.openjdk.java.net/~kaddepalli/8014503/webrev00/
>
> On Windows, the default behavior has been changed to not send an
> ItemEvent, if the same item is selected again, whereas this was not
> changed for Mac and Linux.
>
> This fix changes that behavior, and makes it consistent for all the
> three platforms.
>
> Thanks,
>
> Krishna
>
--
Best regards, Sergey.
More information about the awt-dev
mailing list