From 2473bb8408e2f8882beecbd0b23ab354551e19c8 Mon Sep 17 00:00:00 2001 From: Max Katz Date: Tue, 7 Mar 2023 14:32:31 +0900 Subject: [PATCH] Fix some warnings --- src/Avalonia.Base/Input/MouseDevice.cs | 1 + src/Avalonia.Base/Input/PenDevice.cs | 3 ++- src/Avalonia.Base/Input/PointerEventArgs.cs | 2 ++ src/Avalonia.Base/Input/PointerOverPreProcessor.cs | 14 +++++++++----- src/Avalonia.Base/Input/TouchDevice.cs | 1 + 5 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/Avalonia.Base/Input/MouseDevice.cs b/src/Avalonia.Base/Input/MouseDevice.cs index 50980f1c3d..44412cd152 100644 --- a/src/Avalonia.Base/Input/MouseDevice.cs +++ b/src/Avalonia.Base/Input/MouseDevice.cs @@ -4,6 +4,7 @@ using Avalonia.Reactive; using Avalonia.Input.Raw; using Avalonia.Platform; using Avalonia.Utilities; +#pragma warning disable CS0618 namespace Avalonia.Input { diff --git a/src/Avalonia.Base/Input/PenDevice.cs b/src/Avalonia.Base/Input/PenDevice.cs index 285249a5f8..b3cd39212b 100644 --- a/src/Avalonia.Base/Input/PenDevice.cs +++ b/src/Avalonia.Base/Input/PenDevice.cs @@ -4,6 +4,7 @@ using System.Linq; using System.Reflection; using Avalonia.Input.Raw; using Avalonia.Platform; +#pragma warning disable CS0618 namespace Avalonia.Input { @@ -129,7 +130,7 @@ namespace Avalonia.Input var e = new PointerReleasedEventArgs(source, pointer, (Visual)root, p, timestamp, properties, inputModifiers, _lastMouseDownButton); - source?.RaiseEvent(e); + source.RaiseEvent(e); pointer.Capture(null); _lastMouseDownButton = default; return e.Handled; diff --git a/src/Avalonia.Base/Input/PointerEventArgs.cs b/src/Avalonia.Base/Input/PointerEventArgs.cs index 50d7cc5dc5..28a3c3aefb 100644 --- a/src/Avalonia.Base/Input/PointerEventArgs.cs +++ b/src/Avalonia.Base/Input/PointerEventArgs.cs @@ -42,7 +42,9 @@ namespace Avalonia.Input PointerPointProperties properties, KeyModifiers modifiers, Lazy?>? previousPoints) +#pragma warning disable CS0618 : this(routedEvent, source, pointer, rootVisual, rootVisualPosition, timestamp, properties, modifiers) +#pragma warning restore CS0618 { _previousPoints = previousPoints; } diff --git a/src/Avalonia.Base/Input/PointerOverPreProcessor.cs b/src/Avalonia.Base/Input/PointerOverPreProcessor.cs index 3967c5abe0..0afdb8e080 100644 --- a/src/Avalonia.Base/Input/PointerOverPreProcessor.cs +++ b/src/Avalonia.Base/Input/PointerOverPreProcessor.cs @@ -42,14 +42,14 @@ namespace Avalonia.Input } if (args.Type is RawPointerEventType.LeaveWindow or RawPointerEventType.NonClientLeftButtonDown - && _currentPointer is (var lastPointer, var lastPosition)) + && _currentPointer is var (lastPointer, lastPosition)) { _currentPointer = null; ClearPointerOver(lastPointer, args.Root, 0, PointToClient(args.Root, lastPosition), new PointerPointProperties(args.InputModifiers, args.Type.ToUpdateKind()), args.InputModifiers.ToKeyModifiers()); } - else if (pointerDevice.TryGetPointer(args) is IPointer pointer + else if (pointerDevice.TryGetPointer(args) is { } pointer && pointer.Type != PointerType.Touch) { var element = pointer.Captured ?? args.InputHitTestResult; @@ -101,9 +101,11 @@ namespace Avalonia.Input // Do not pass rootVisual, when we have unknown position, // so GetPosition won't return invalid values. +#pragma warning disable CS0618 var e = new PointerEventArgs(InputElement.PointerExitedEvent, element, pointer, position.HasValue ? root as Visual : null, position.HasValue ? position.Value : default, timestamp, properties, inputModifiers); +#pragma warning restore CS0618 if (element is Visual v && !v.IsAttachedToVisualTree) { @@ -130,11 +132,11 @@ namespace Avalonia.Input { if (element is Visual v) { - foreach (IInputElement el in v.VisualChildren) + foreach (var el in v.VisualChildren) { - if (el.IsPointerOver) + if (el is IInputElement { IsPointerOver: true } child) { - ClearChildrenPointerOver(e, el, true); + ClearChildrenPointerOver(e, child, true); break; } } @@ -189,8 +191,10 @@ namespace Avalonia.Input el = root.PointerOverElement; +#pragma warning disable CS0618 var e = new PointerEventArgs(InputElement.PointerExitedEvent, el, pointer, (Visual)root, position, timestamp, properties, inputModifiers); +#pragma warning restore CS0618 if (el is Visual v && branch != null && !v.IsAttachedToVisualTree) { ClearChildrenPointerOver(e, branch, false); diff --git a/src/Avalonia.Base/Input/TouchDevice.cs b/src/Avalonia.Base/Input/TouchDevice.cs index 125d5fc813..bab1b9f784 100644 --- a/src/Avalonia.Base/Input/TouchDevice.cs +++ b/src/Avalonia.Base/Input/TouchDevice.cs @@ -4,6 +4,7 @@ using System.Linq; using System.Reflection; using Avalonia.Input.Raw; using Avalonia.Platform; +#pragma warning disable CS0618 namespace Avalonia.Input {