diff options
author | terkhen <terkhen@openttd.org> | 2010-08-19 08:22:08 +0000 |
---|---|---|
committer | terkhen <terkhen@openttd.org> | 2010-08-19 08:22:08 +0000 |
commit | cfc0df152b40c7109ce6c2e60f80304fc97adb89 (patch) | |
tree | 8aa7c5afb95d9806c589a14e6984f22969a4d020 | |
parent | a054078920536fac36179d542a7b4b920ba7956c (diff) | |
download | openttd-cfc0df152b40c7109ce6c2e60f80304fc97adb89.tar.xz |
(svn r20552) -Fix: Never show tooltips when the mouse cursor is outside the window.
-rw-r--r-- | src/misc_gui.cpp | 8 | ||||
-rw-r--r-- | src/window.cpp | 2 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/misc_gui.cpp b/src/misc_gui.cpp index 7806188fc..3c31ddc0e 100644 --- a/src/misc_gui.cpp +++ b/src/misc_gui.cpp @@ -890,8 +890,14 @@ struct TooltipsWindow : public Window virtual void OnMouseLoop() { + /* Always close tooltips when the cursor is not in our window. */ + if (!_cursor.in_window) { + delete this; + return; + } + /* We can show tooltips while dragging tools. These are shown as long as - * we are dragging the tool. Normal tooltips work with rmb */ + * we are dragging the tool. Normal tooltips work with hover or rmb. */ switch (this->close_cond) { case TCC_RIGHT_CLICK: if (!_right_button_down) delete this; break; case TCC_LEFT_CLICK: if (!_left_button_down) delete this; break; diff --git a/src/window.cpp b/src/window.cpp index fd6ce0900..09accd16e 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -2275,7 +2275,7 @@ void HandleMouseEvents() static Point hover_pos = {0, 0}; if (_settings_client.gui.hover_delay > 0) { - if (click != MC_NONE || mousewheel != 0 || _left_button_down || _right_button_down || + if (!_cursor.in_window || click != MC_NONE || mousewheel != 0 || _left_button_down || _right_button_down || hover_pos.x == 0 || abs(_cursor.pos.x - hover_pos.x) >= MAX_OFFSET_HOVER || hover_pos.y == 0 || abs(_cursor.pos.y - hover_pos.y) >= MAX_OFFSET_HOVER) { hover_pos = _cursor.pos; |