Browse Source
Merge pull request #4548 from AvaloniaUI/fixes/osx-tooltip-crash-on-mainwindow-close
prevent popup crashing when mainwindow has closed and popup still open.
pull/4561/head
danwalmsley
6 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with
24 additions and
14 deletions
-
src/Avalonia.Native/ScreenImpl.cs
-
src/Avalonia.Native/WindowImplBase.cs
|
|
|
@ -20,21 +20,26 @@ namespace Avalonia.Native |
|
|
|
{ |
|
|
|
get |
|
|
|
{ |
|
|
|
var count = ScreenCount; |
|
|
|
var result = new Screen[count]; |
|
|
|
|
|
|
|
for(int i = 0; i < count; i++) |
|
|
|
if (_native != null) |
|
|
|
{ |
|
|
|
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( |
|
|
|
screen.PixelDensity, |
|
|
|
screen.Bounds.ToAvaloniaPixelRect(), |
|
|
|
screen.WorkingArea.ToAvaloniaPixelRect(), |
|
|
|
screen.Primary); |
|
|
|
return result; |
|
|
|
} |
|
|
|
|
|
|
|
return result; |
|
|
|
return Array.Empty<Screen>(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -94,8 +94,13 @@ namespace Avalonia.Native |
|
|
|
{ |
|
|
|
get |
|
|
|
{ |
|
|
|
var s = _native.GetClientSize(); |
|
|
|
return new Size(s.Width, s.Height); |
|
|
|
if (_native != null) |
|
|
|
{ |
|
|
|
var s = _native.GetClientSize(); |
|
|
|
return new Size(s.Width, s.Height); |
|
|
|
} |
|
|
|
|
|
|
|
return default; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -144,7 +149,6 @@ namespace Avalonia.Native |
|
|
|
void IAvnWindowBaseEvents.Closed() |
|
|
|
{ |
|
|
|
var n = _parent._native; |
|
|
|
_parent._native = null; |
|
|
|
try |
|
|
|
{ |
|
|
|
_parent?.Closed?.Invoke(); |
|
|
|
@ -153,6 +157,7 @@ namespace Avalonia.Native |
|
|
|
{ |
|
|
|
n?.Dispose(); |
|
|
|
} |
|
|
|
|
|
|
|
_parent._mouse.Dispose(); |
|
|
|
} |
|
|
|
|
|
|
|
|