diff options
-rw-r--r-- | src/main_gui.cpp | 2 | ||||
-rw-r--r-- | src/smallmap_gui.cpp | 2 | ||||
-rw-r--r-- | src/viewport_gui.cpp | 2 | ||||
-rw-r--r-- | src/window.cpp | 4 |
4 files changed, 5 insertions, 5 deletions
diff --git a/src/main_gui.cpp b/src/main_gui.cpp index b13920a64..199546d43 100644 --- a/src/main_gui.cpp +++ b/src/main_gui.cpp @@ -439,7 +439,7 @@ struct MainWindow : Window virtual void OnMouseWheel(int wheel) { - if (_settings_client.gui.scrollwheel_scrolling == 0) { + if (_settings_client.gui.scrollwheel_scrolling != 2) { ZoomInOrOutToCursorWindow(wheel < 0, this); } } diff --git a/src/smallmap_gui.cpp b/src/smallmap_gui.cpp index 6b234ee90..7e3e75953 100644 --- a/src/smallmap_gui.cpp +++ b/src/smallmap_gui.cpp @@ -1559,7 +1559,7 @@ int SmallMapWindow::GetPositionOnLegend(Point pt) /* virtual */ void SmallMapWindow::OnMouseWheel(int wheel) { - if (_settings_client.gui.scrollwheel_scrolling == 0) { + if (_settings_client.gui.scrollwheel_scrolling != 2) { const NWidgetBase *wid = this->GetWidget<NWidgetBase>(WID_SM_MAP); int cursor_x = _cursor.pos.x - this->left - wid->pos_x; int cursor_y = _cursor.pos.y - this->top - wid->pos_y; diff --git a/src/viewport_gui.cpp b/src/viewport_gui.cpp index cbd300dec..9c89a85f8 100644 --- a/src/viewport_gui.cpp +++ b/src/viewport_gui.cpp @@ -138,7 +138,7 @@ public: virtual void OnMouseWheel(int wheel) { - if (_settings_client.gui.scrollwheel_scrolling == 0) { + if (_settings_client.gui.scrollwheel_scrolling != 2) { ZoomInOrOutToCursorWindow(wheel < 0, this); } } diff --git a/src/window.cpp b/src/window.cpp index 30c1b8705..f17fccf93 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -2858,8 +2858,8 @@ static void MouseLoop(MouseClick click, int mousewheel) if (vp != NULL && (_game_mode == GM_MENU || HasModalProgress())) return; if (mousewheel != 0) { - /* Send mousewheel event to window */ - w->OnMouseWheel(mousewheel); + /* Send mousewheel event to window, unless we're scrolling a viewport or the map */ + if (!scrollwheel_scrolling || (vp == NULL && w->window_class != WC_SMALLMAP)) w->OnMouseWheel(mousewheel); /* Dispatch a MouseWheelEvent for widgets if it is not a viewport */ if (vp == NULL) DispatchMouseWheelEvent(w, w->nested_root->GetWidgetFromPos(x - w->left, y - w->top), mousewheel); |