Details
-
Bug
-
Resolution: Done
-
P3: Somewhat important
-
None
-
5.6.0 Alpha
-
None
-
Mac OS X and Windows
Description
If you position the mouse over a QScrollBar and move the mousewheel, you trigger this code in qabstractslider.cpp:
bool QAbstractSliderPrivate::scrollByDelta(Qt::Orientation orientation, Qt::KeyboardModifiers modifiers, int delta) { ... offset_accumulated -= int(offset_accumulated); if (stepsToScroll == 0) return false; }
causes the calling function, QScrollBar::wheelEvent() in qscrollbar.cpp to call event->ignore(), which in turn causes the event to propagate to the parent. But the accumulation code has actually used the event (it accumulated the wheel delta) and event->accept() should be called.
This causes the parent widget to get scroll wheel events that really are intended for the scroll bar.
Attachments
For Gerrit Dashboard: QTBUG-49549 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
150897,3 | Accept partial line scrolls | 5.6 | qt/qtbase | Status: MERGED | +2 | 0 |