From f86f77b7a52b7729f18ba93c9bc9eef3b5d88366 Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Wed, 30 Mar 2022 17:07:15 +0100 Subject: [PATCH] Fix viewport town/industry tooltips shown on mouseover in right-click mode --- src/main_gui.cpp | 2 +- src/misc_gui.cpp | 2 +- src/viewport_gui.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main_gui.cpp b/src/main_gui.cpp index 2876d36f16..8cfedb77fc 100644 --- a/src/main_gui.cpp +++ b/src/main_gui.cpp @@ -505,7 +505,7 @@ struct MainWindow : Window virtual void OnMouseOver(Point pt, int widget) override { - if (pt.x != -1 && _game_mode != GM_MENU && (_mouse_hovering || _settings_client.gui.hover_delay_ms == 0)) { + if (pt.x != -1 && _game_mode != GM_MENU && (_settings_client.gui.hover_delay_ms == 0 ? _right_button_down : _mouse_hovering)) { /* Show tooltip with last month production or town name */ const Point p = GetTileBelowCursor(); const TileIndex tile = TileVirtXY(p.x, p.y); diff --git a/src/misc_gui.cpp b/src/misc_gui.cpp index e76833c91a..3922bdf305 100644 --- a/src/misc_gui.cpp +++ b/src/misc_gui.cpp @@ -810,7 +810,7 @@ struct TooltipsWindow : public Window case TCC_HOVER_VIEWPORT: if (_settings_client.gui.hover_delay_ms == 0) { - this->delete_next_mouse_loop = true; + if (!_right_button_down) this->delete_next_mouse_loop = true; } else if (!_mouse_hovering) { delete this; break; diff --git a/src/viewport_gui.cpp b/src/viewport_gui.cpp index ea57f0e18d..03aba7de8c 100644 --- a/src/viewport_gui.cpp +++ b/src/viewport_gui.cpp @@ -153,7 +153,7 @@ public: virtual void OnMouseOver(Point pt, int widget) override { - if (pt.x != -1 && (_mouse_hovering || _settings_client.gui.hover_delay_ms == 0)) { + if (pt.x != -1 && (_settings_client.gui.hover_delay_ms == 0 ? _right_button_down : _mouse_hovering)) { /* Show tooltip with last month production or town name */ const Point p = GetTileBelowCursor(); const TileIndex tile = TileVirtXY(p.x, p.y);