From 710a32d1ce37be92e238c77d0de360325b4fe4a2 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Tue, 4 Aug 2015 22:06:39 +0100 Subject: [PATCH] Extract ScrollPanel tooltip workaround into common code. --- OpenRA.Game/Widgets/Widget.cs | 7 +++++++ OpenRA.Mods.Common/Widgets/ScrollPanelWidget.cs | 9 ++------- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/OpenRA.Game/Widgets/Widget.cs b/OpenRA.Game/Widgets/Widget.cs index 9154244b39..1802ad2dd5 100644 --- a/OpenRA.Game/Widgets/Widget.cs +++ b/OpenRA.Game/Widgets/Widget.cs @@ -131,6 +131,13 @@ namespace OpenRA.Widgets while (WindowList.Count > 0) CloseWindow(); } + + public static void ResetTooltips() + { + // Issue a no-op mouse move to force any tooltips to be recalculated + HandleInput(new MouseInput(MouseInputEvent.Move, MouseButton.None, 0, + Viewport.LastMousePos, Modifiers.None, 0)); + } } public abstract class Widget diff --git a/OpenRA.Mods.Common/Widgets/ScrollPanelWidget.cs b/OpenRA.Mods.Common/Widgets/ScrollPanelWidget.cs index 9658a736b9..7031191a2a 100644 --- a/OpenRA.Mods.Common/Widgets/ScrollPanelWidget.cs +++ b/OpenRA.Mods.Common/Widgets/ScrollPanelWidget.cs @@ -79,10 +79,7 @@ namespace OpenRA.Mods.Common.Widgets // Update mouseover if (oldListOffset != currentListOffset) - { - var mi = new MouseInput(MouseInputEvent.Move, MouseButton.None, 0, Viewport.LastMousePos, Modifiers.None, 0); - Ui.HandleInput(mi); - } + Ui.ResetTooltips(); } } @@ -266,9 +263,7 @@ namespace OpenRA.Mods.Common.Widgets { currentListOffset += offsetDiff * SmoothScrollSpeed.Clamp(0.1f, 1.0f); - // Update mouseover - var mi = new MouseInput(MouseInputEvent.Move, MouseButton.None, 0, Viewport.LastMousePos, Modifiers.None, 0); - Ui.HandleInput(mi); + Ui.ResetTooltips(); } else SetListOffset(targetListOffset, false);