Merge pull request #8946 from pchote/fix-faction-tooltips

Fix orphaned tooltips when dismissing a dropdown.
This commit is contained in:
abcdefg30
2015-08-05 14:02:13 +02:00
3 changed files with 11 additions and 7 deletions

View File

@@ -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

View File

@@ -67,6 +67,8 @@ namespace OpenRA.Mods.Common.Widgets
panelRoot.RemoveChild(fullscreenMask);
panelRoot.RemoveChild(panel);
panel = fullscreenMask = null;
Ui.ResetTooltips();
}
public void AttachPanel(Widget p) { AttachPanel(p, null); }

View File

@@ -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);