(svn r21760) -Fix (r20452): Restore wheeling of vertical scrollbars.

pull/155/head
alberth 14 years ago
parent fc67b5b024
commit 14fa773093

@ -442,7 +442,7 @@ static void DispatchHoverEvent(Window *w, int x, int y)
* @param nwid the widget where the scrollwheel was used
* @param wheel scroll up or down
*/
static void DispatchMouseWheelEvent(Window *w, const NWidgetCore *nwid, int wheel)
static void DispatchMouseWheelEvent(Window *w, NWidgetCore *nwid, int wheel)
{
if (nwid == NULL) return;
@ -452,6 +452,16 @@ static void DispatchMouseWheelEvent(Window *w, const NWidgetCore *nwid, int whee
return;
}
/* Wheeling a vertical scrollbar. */
if (nwid->type == NWID_VSCROLLBAR) {
NWidgetScrollbar *sb = static_cast<NWidgetScrollbar *>(nwid);
if (sb->GetCount() > sb->GetCapacity()) {
sb->UpdatePosition(wheel);
w->SetDirty();
}
return;
}
/* Scroll the widget attached to the scrollbar. */
Scrollbar *sb = (nwid->scrollbar_index >= 0 ? w->GetScrollbar(nwid->scrollbar_index) : NULL);
if (sb != NULL && sb->GetCount() > sb->GetCapacity()) {

Loading…
Cancel
Save