diff --git a/OpenRA.Game/Widgets/ButtonWidget.cs b/OpenRA.Game/Widgets/ButtonWidget.cs index 771cfd9e0d..06f28c2879 100644 --- a/OpenRA.Game/Widgets/ButtonWidget.cs +++ b/OpenRA.Game/Widgets/ButtonWidget.cs @@ -46,6 +46,9 @@ namespace OpenRA.Widgets public override bool HandleInputInner(MouseInput mi) { + if (mi.Button != MouseButton.Left) + return false; + if (mi.Event == MouseInputEvent.Down && !TakeFocus(mi)) return false; diff --git a/OpenRA.Game/Widgets/CheckboxWidget.cs b/OpenRA.Game/Widgets/CheckboxWidget.cs index afd0784a1d..28763a1b4d 100644 --- a/OpenRA.Game/Widgets/CheckboxWidget.cs +++ b/OpenRA.Game/Widgets/CheckboxWidget.cs @@ -41,7 +41,10 @@ namespace OpenRA.Widgets new float2(rect.Left + 2, rect.Top + 2)); } - public override bool HandleInputInner(MouseInput mi) { return true; } + public override bool HandleInputInner(MouseInput mi) + { + return mi.Button == MouseButton.Left; + } public CheckboxWidget() : base() { } diff --git a/OpenRA.Game/Widgets/ScrollPanelWidget.cs b/OpenRA.Game/Widgets/ScrollPanelWidget.cs index 22a574612e..f39f805e3e 100644 --- a/OpenRA.Game/Widgets/ScrollPanelWidget.cs +++ b/OpenRA.Game/Widgets/ScrollPanelWidget.cs @@ -127,6 +127,9 @@ namespace OpenRA.Widgets int2 lastMouseLocation; public override bool HandleInputInner(MouseInput mi) { + if (mi.Button != MouseButton.Left) + return false; + if (mi.Event == MouseInputEvent.Down && !TakeFocus(mi)) return false; diff --git a/OpenRA.Game/Widgets/SliderWidget.cs b/OpenRA.Game/Widgets/SliderWidget.cs index 2897d565ae..79bb2c2d0e 100755 --- a/OpenRA.Game/Widgets/SliderWidget.cs +++ b/OpenRA.Game/Widgets/SliderWidget.cs @@ -65,6 +65,9 @@ namespace OpenRA.Widgets public override bool HandleInputInner(MouseInput mi) { + if (mi.Button != MouseButton.Left) + return false; + if (mi.Event == MouseInputEvent.Down && !TakeFocus(mi)) return false; diff --git a/OpenRA.Mods.RA/Widgets/Delegates/MapChooserDelegate.cs b/OpenRA.Mods.RA/Widgets/Delegates/MapChooserDelegate.cs index fa0bbdfac3..bf5cd50fb7 100644 --- a/OpenRA.Mods.RA/Widgets/Delegates/MapChooserDelegate.cs +++ b/OpenRA.Mods.RA/Widgets/Delegates/MapChooserDelegate.cs @@ -64,7 +64,7 @@ namespace OpenRA.Mods.RA.Widgets.Delegates var template = itemTemplate.Clone() as ContainerWidget; template.Id = "MAP_{0}".F(map.Uid); template.GetBackground = () => ((Map == map) ? "dialog2" : null); - template.OnMouseDown = mi => { Map = map; return true; }; + template.OnMouseDown = mi => { if (mi.Button != MouseButton.Left) return false; Map = map; return true; }; template.IsVisible = () => true; template.GetWidget("TITLE").GetText = () => " " + map.Title; template.GetWidget("TYPE").GetText = () => map.Type + " "; diff --git a/OpenRA.Mods.RA/Widgets/Delegates/MusicPlayerDelegate.cs b/OpenRA.Mods.RA/Widgets/Delegates/MusicPlayerDelegate.cs index 1809c8e186..f9434f589d 100644 --- a/OpenRA.Mods.RA/Widgets/Delegates/MusicPlayerDelegate.cs +++ b/OpenRA.Mods.RA/Widgets/Delegates/MusicPlayerDelegate.cs @@ -117,6 +117,7 @@ namespace OpenRA.Mods.RA.Widgets.Delegates template.GetBackground = () => ((song == CurrentSong) ? "dialog2" : null); template.OnMouseDown = mi => { + if (mi.Button != MouseButton.Left) return false; CurrentSong = song; bg.GetWidget("BUTTON_PLAY").OnMouseUp(mi); return true; diff --git a/OpenRA.Mods.RA/Widgets/Delegates/ReplayBrowserDelegate.cs b/OpenRA.Mods.RA/Widgets/Delegates/ReplayBrowserDelegate.cs index b8584bdc53..249a87aac7 100644 --- a/OpenRA.Mods.RA/Widgets/Delegates/ReplayBrowserDelegate.cs +++ b/OpenRA.Mods.RA/Widgets/Delegates/ReplayBrowserDelegate.cs @@ -104,7 +104,7 @@ namespace OpenRA.Mods.RA.Widgets.Delegates entry.Id = "REPLAY_"; entry.GetText = () => " {0}".F(Path.GetFileName(filename)); entry.GetBackground = () => (CurrentReplay == filename) ? "dialog2" : null; - entry.OnMouseDown = mi => { CurrentReplay = filename; return true; }; + entry.OnMouseDown = mi => { if (mi.Button != MouseButton.Left) return false; CurrentReplay = filename; return true; }; entry.IsVisible = () => true; list.AddChild(entry); } diff --git a/OpenRA.Mods.RA/Widgets/Delegates/ServerBrowserDelegate.cs b/OpenRA.Mods.RA/Widgets/Delegates/ServerBrowserDelegate.cs index 1c3d546886..560a09218b 100644 --- a/OpenRA.Mods.RA/Widgets/Delegates/ServerBrowserDelegate.cs +++ b/OpenRA.Mods.RA/Widgets/Delegates/ServerBrowserDelegate.cs @@ -171,7 +171,7 @@ namespace OpenRA.Mods.RA.Widgets.Delegates game.Name, game.Address); template.GetBackground = () => (currentServer == game) ? "dialog2" : null; - template.OnMouseDown = mi => { currentServer = game; return true; }; + template.OnMouseDown = mi => { if (mi.Button != MouseButton.Left) return false; currentServer = game; return true; }; template.IsVisible = () => true; sl.AddChild(template); diff --git a/OpenRA.Mods.RA/Widgets/Delegates/VideoPlayerDelegate.cs b/OpenRA.Mods.RA/Widgets/Delegates/VideoPlayerDelegate.cs index 503d6fba47..e38df3bbcb 100644 --- a/OpenRA.Mods.RA/Widgets/Delegates/VideoPlayerDelegate.cs +++ b/OpenRA.Mods.RA/Widgets/Delegates/VideoPlayerDelegate.cs @@ -74,6 +74,7 @@ namespace OpenRA.Mods.RA.Widgets.Delegates template.GetBackground = () => ((video == Selected) ? "dialog2" : null); template.OnMouseDown = mi => { + if (mi.Button != MouseButton.Left) return false; Selected = video; player.Load(video); return true;