Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 343820

Summary: [Combo] Unable to scroll combo list with mouse wheel under some constellations
Product: [RT] RAP Reporter: Ivan Furnadjiev <ivan>
Component: RWTAssignee: Project Inbox <rap-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P2 CC: tbuschto
Version: unspecified   
Target Milestone: 1.4 RC2   
Hardware: PC   
OS: Windows 7   
Whiteboard:
Attachments:
Description Flags
fix ivan: review+

Description Ivan Furnadjiev CLA 2011-04-26 07:15:29 EDT
Reproducible with Controls Demo:
1. Start Controls Demo -> Button Tab
2. Open "Cursor" combo list.
3. Click on the "down" scrollbar button several times - scroll list down.
4. Click on the scrollbar above the thumb, not on the "up" button to scroll back to the top.
5. Use mouse wheel to scroll down again - list and scrollbar start flickering, scrollbar always returns to the top position.
Reproducible with all browsers.
Comment 1 Tim Buschtoens CLA 2011-05-02 07:53:29 EDT
In case of scrollbar in combo:
- lineMinus-mode is started after mouseDown
- lineMinus-mode is stopped by onThumbMouseUp, but the field is not cleared
  - Why do the one thing, but not the other? - Probably bug.
- the next _selectionChanged finds the field to be not empty and starts the timer again

In case of slider and other scrollbars:
- lineMinus-mode is started after mouseDown
- lineMinus-mode is (incorrectly?) stopped by onMouseOut
 - The mouseOut is from moving the thumb under the mouse
 - Was not fired in the other case.

That it works at all is probably by accident, not by design: Neither onThumbMouseUp nor onMouseOut seem to be meant to handle this case, but onMouseOut happens to work. The mouseOut is probably not recieved due to the setCapture by the combo.
Comment 2 Tim Buschtoens CLA 2011-05-17 09:33:20 EDT
Created attachment 195854 [details]
fix

Proposed fix.

What i didnt realize before is that there are onThumbMouseUp and onMouseUp. The problem came from the fact that in this scenario onThumbMouseUp got the event and did not propagate it since it assumed that the thumb was beeing dragged. Fixed by checking the pressed state of thumb.
Comment 3 Ivan Furnadjiev CLA 2011-05-19 07:47:21 EDT
Comment on attachment 195854 [details]
fix

Patch looks good to me.
Comment 4 Ivan Furnadjiev CLA 2011-05-19 08:19:04 EDT
Applied patch to CVS HEAD and v14_Maintenance.