diff --git a/OpenRA.Mods.Common/Widgets/ViewportControllerWidget.cs b/OpenRA.Mods.Common/Widgets/ViewportControllerWidget.cs index 6fd0057d0a..b9424f0dfc 100644 --- a/OpenRA.Mods.Common/Widgets/ViewportControllerWidget.cs +++ b/OpenRA.Mods.Common/Widgets/ViewportControllerWidget.cs @@ -35,6 +35,7 @@ namespace OpenRA.Mods.Common.Widgets public int EdgeCornerScrollThreshold = 35; int2? joystickScrollStart, joystickScrollEnd; + bool isStandardScrolling; static readonly Dictionary ScrollCursors = new Dictionary { @@ -287,10 +288,19 @@ namespace OpenRA.Mods.Common.Widgets { if (mi.Event == MouseInputEvent.Move) { + isStandardScrolling = true; var d = scrollType == MouseScrollType.Inverted ? -1 : 1; worldRenderer.Viewport.Scroll((Viewport.LastMousePos - mi.Location) * d, false); return true; } + else if (mi.Event == MouseInputEvent.Up) + { + var wasStandardScrolling = isStandardScrolling; + isStandardScrolling = false; + + if (wasStandardScrolling) + return true; + } } // Tiberian Sun style click-and-drag scrolling