forked from mirror/OpenTTD
(svn r2530) - Fix: [ 1219829 ] Mouse-wheel crashes OTTD. Widget detection failed to detect the most-right and most-bottom pixels of a widget. If scrollwheel is used on a not-found widget (such as the background of the toolbar), it will now fail correctly (glx)
This commit is contained in:
17
window.c
17
window.c
@@ -98,13 +98,22 @@ void DispatchRightClickEvent(Window *w, int x, int y) {
|
||||
w->wndproc(w, &e);
|
||||
}
|
||||
|
||||
|
||||
void DispatchMouseWheelEvent(Window *w, uint widget, int wheel)
|
||||
/** Dispatch the mousewheel-action to the window which will scroll any
|
||||
* compatible scrollbars if the mouse is pointed over the bar or its contents
|
||||
* @param *w Window
|
||||
* @param widget the widget where the scrollwheel was used
|
||||
* @param wheel scroll up or down
|
||||
*/
|
||||
void DispatchMouseWheelEvent(Window *w, int widget, int wheel)
|
||||
{
|
||||
const Widget *wi1 = &w->widget[widget];
|
||||
const Widget *wi2 = &w->widget[widget + 1];
|
||||
const Widget *wi1, *wi2;
|
||||
Scrollbar *sb;
|
||||
|
||||
if (widget < 0) return;
|
||||
|
||||
wi1 = &w->widget[widget];
|
||||
wi2 = &w->widget[widget + 1];
|
||||
|
||||
/* The listbox can only scroll if scrolling was done on the scrollbar itself,
|
||||
* or on the listbox (and the next item is (must be) the scrollbar)
|
||||
* XXX - should be rewritten as a widget-dependent scroller but that's
|
||||
|
Reference in New Issue
Block a user