Browse Source

prevent screens api crashing if it has been disposed.

pull/4548/head
Dan Walmsley 6 years ago
parent
commit
84f8f75cc5
  1. 27
      src/Avalonia.Native/ScreenImpl.cs

27
src/Avalonia.Native/ScreenImpl.cs

@ -20,21 +20,26 @@ namespace Avalonia.Native
{ {
get get
{ {
var count = ScreenCount; if (_native != null)
var result = new Screen[count];
for(int i = 0; i < count; i++)
{ {
var screen = _native.GetScreen(i); var count = ScreenCount;
var result = new Screen[count];
for (int i = 0; i < count; i++)
{
var screen = _native.GetScreen(i);
result[i] = new Screen(
screen.PixelDensity,
screen.Bounds.ToAvaloniaPixelRect(),
screen.WorkingArea.ToAvaloniaPixelRect(),
screen.Primary);
}
result[i] = new Screen( return result;
screen.PixelDensity,
screen.Bounds.ToAvaloniaPixelRect(),
screen.WorkingArea.ToAvaloniaPixelRect(),
screen.Primary);
} }
return result; return new List<Screen>();
} }
} }

Loading…
Cancel
Save