Community
Participate
Working Groups
Steps to reproduce with Controls Demo: 1. Disable preselectFirstItemButton checkbox in ComboTab.java - add preselectFirstItemButton.setEnabled( false ); at line 83 2. Start Controls Demo - Combo Tab 3. Open "Filled Combo" - make combo list visible 4. Click on the disabled checkbox with combo list still visible 5. Disabled checkbox is now selected !!! :-) 6. Open combo list again 7. Click on the disabled checkbox 8. Disabled checkbox is now deselected !!! :-)
Actually, this issue is not limited to the checkboxes. All buttons are affected - check, radio, toggle, push. Reproducible with Controls Demo -> Button tab by using cursor combo.
After some debugging I found that the issue is introduced by the fix for bug 332436 - introduced Combo.js#_reDispatch. In case of dropped list the captured event is redispatched to its original target. I don't remember why this _reDispatch is introduced, but removing it, does not break any JS test and fixes both this bug and bug 343532.
Created attachment 194047 [details] Proposed patch This patch changes the Combo.js#_reDispatch to redispatch the captured event only if the original target parent is the combo list (target is ListItem) or the list vertical scrollbar (target is scrollbar buttons). This patch fixes this bug, bug 342532 (without issue in comment #2) and the issue mentioned in bug 343800 comment #1. JS tests added. Tim, please review.
Applied patch to CVS HEAD.