mirror of https://github.com/OpenTTD/OpenTTD
(svn r20552) -Fix: Never show tooltips when the mouse cursor is outside the window.
parent
a054078920
commit
cfc0df152b
|
@ -890,8 +890,14 @@ struct TooltipsWindow : public Window
|
||||||
|
|
||||||
virtual void OnMouseLoop()
|
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 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) {
|
switch (this->close_cond) {
|
||||||
case TCC_RIGHT_CLICK: if (!_right_button_down) delete this; break;
|
case TCC_RIGHT_CLICK: if (!_right_button_down) delete this; break;
|
||||||
case TCC_LEFT_CLICK: if (!_left_button_down) delete this; break;
|
case TCC_LEFT_CLICK: if (!_left_button_down) delete this; break;
|
||||||
|
|
|
@ -2275,7 +2275,7 @@ void HandleMouseEvents()
|
||||||
static Point hover_pos = {0, 0};
|
static Point hover_pos = {0, 0};
|
||||||
|
|
||||||
if (_settings_client.gui.hover_delay > 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.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.y == 0 || abs(_cursor.pos.y - hover_pos.y) >= MAX_OFFSET_HOVER) {
|
||||||
hover_pos = _cursor.pos;
|
hover_pos = _cursor.pos;
|
||||||
|
|
Loading…
Reference in New Issue