Browse Source

More nullability fixes.

pull/7203/head
Steven Kirk 5 years ago
parent
commit
4582b43118
  1. 7
      src/Avalonia.Diagnostics/Diagnostics/ViewModels/TreePageViewModel.cs
  2. 2
      src/Avalonia.Input/AccessKeyHandler.cs
  3. 2
      src/Avalonia.Input/InputElement.cs
  4. 2
      src/Avalonia.Input/Pointer.cs
  5. 4
      src/Web/Avalonia.Web.Blazor/RazorViewTopLevelImpl.cs

7
src/Avalonia.Diagnostics/Diagnostics/ViewModels/TreePageViewModel.cs

@ -86,14 +86,15 @@ namespace Avalonia.Diagnostics.ViewModels
public void SelectControl(IControl control)
{
var node = default(TreeNode);
IControl? c = control;
while (node == null && control != null)
while (node == null && c != null)
{
node = FindNode(control);
node = FindNode(c);
if (node == null)
{
control = control.GetVisualParent<IControl>();
c = c.GetVisualParent<IControl>();
}
}

2
src/Avalonia.Input/AccessKeyHandler.cs

@ -188,7 +188,7 @@ namespace Avalonia.Input
// If the menu is open, only match controls in the menu's visual tree.
if (menuIsOpen)
{
matches = matches.Where(x => MainMenu.IsVisualAncestorOf(x));
matches = matches.Where(x => x is not null && MainMenu!.IsVisualAncestorOf(x));
}
var match = matches.FirstOrDefault();

2
src/Avalonia.Input/InputElement.cs

@ -675,7 +675,7 @@ namespace Avalonia.Input
/// <see cref="IsEffectivelyEnabled"/>.
/// </summary>
/// <param name="parent">The parent control.</param>
private void UpdateIsEffectivelyEnabled(InputElement parent)
private void UpdateIsEffectivelyEnabled(InputElement? parent)
{
IsEffectivelyEnabled = IsEnabledCore && (parent?.IsEffectivelyEnabled ?? true);

2
src/Avalonia.Input/Pointer.cs

@ -54,7 +54,7 @@ namespace Avalonia.Input
Captured.DetachedFromVisualTree += OnCaptureDetached;
}
IInputElement GetNextCapture(IVisual parent)
IInputElement? GetNextCapture(IVisual parent)
{
return parent as IInputElement ?? parent.FindAncestorOfType<IInputElement>();
}

4
src/Web/Avalonia.Web.Blazor/RazorViewTopLevelImpl.cs

@ -106,8 +106,8 @@ namespace Avalonia.Web.Blazor
public IRenderer CreateRenderer(IRenderRoot root)
{
var loop = AvaloniaLocator.Current.GetService<IRenderLoop>();
var loop = AvaloniaLocator.Current.GetService<IRenderLoop>() ??
throw new InvalidOperationException("Unable to locate IRenderLoop.");
return new DeferredRenderer(root, loop);
}

Loading…
Cancel
Save