From 91540da801364dd111ecf44b6682b4f505ff307f Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Wed, 9 Aug 2017 17:58:54 +0000 Subject: [PATCH] Focus the ViewportController on Standard/Inverted scroll modes. --- OpenRA.Mods.Common/Widgets/ViewportControllerWidget.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/OpenRA.Mods.Common/Widgets/ViewportControllerWidget.cs b/OpenRA.Mods.Common/Widgets/ViewportControllerWidget.cs index 0f86fbc54011..43744e41dd7c 100644 --- a/OpenRA.Mods.Common/Widgets/ViewportControllerWidget.cs +++ b/OpenRA.Mods.Common/Widgets/ViewportControllerWidget.cs @@ -308,7 +308,12 @@ public override bool HandleMouseInput(MouseInput mi) if (scrollType == MouseScrollType.Standard || scrollType == MouseScrollType.Inverted) { if (mi.Event == MouseInputEvent.Down && !isStandardScrolling) + { + if (!TakeMouseFocus(mi)) + return false; + standardScrollStart = mi.Location; + } else if (mi.Event == MouseInputEvent.Move && (isStandardScrolling || (standardScrollStart.HasValue && ((standardScrollStart.Value - mi.Location).Length > Game.Settings.Game.MouseScrollDeadzone)))) { @@ -322,6 +327,7 @@ public override bool HandleMouseInput(MouseInput mi) var wasStandardScrolling = isStandardScrolling; isStandardScrolling = false; standardScrollStart = null; + YieldMouseFocus(mi); if (wasStandardScrolling) return true; @@ -335,6 +341,7 @@ public override bool HandleMouseInput(MouseInput mi) { if (!TakeMouseFocus(mi)) return false; + joystickScrollStart = mi.Location; }