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.addepa...@oracle.com>; Shashidhara
Veerabhadraiah <shashidhara.veerabhadra...@oracle.com>;
awt-dev@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@openjdk.java.net
<mailto:awt-dev@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.veerabhadra...@oracle.com
<mailto:shashidhara.veerabhadra...@oracle.com>>; Krishna Addepalli
<krishna.addepa...@oracle.com <mailto:krishna.addepa...@oracle.com>>;
awt-dev@openjdk.java.net <mailto:awt-dev@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@openjdk.java.net
<mailto:awt-dev@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.veerabhadra...@oracle.com
<mailto:shashidhara.veerabhadra...@oracle.com>>;
awt-dev@openjdk.java.net <mailto:awt-dev@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.addepa...@oracle.com
<mailto:krishna.addepa...@oracle.com>>; awt-dev@openjdk.java.net
<mailto:awt-dev@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@openjdk.java.net <mailto:awt-dev@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.