Browse Source

[OSX] until window is shown FrameSize is null.

pull/8154/head
Dan Walmsley 4 years ago
parent
commit
845be8ae0e
  1. 17
      native/Avalonia.Native/src/OSX/WindowBaseImpl.mm
  2. 2
      src/Avalonia.Native/WindowImplBase.cs

17
native/Avalonia.Native/src/OSX/WindowBaseImpl.mm

@ -191,9 +191,8 @@ HRESULT WindowBaseImpl::GetClientSize(AvnSize *ret) {
if (ret == nullptr)
return E_POINTER;
auto frame = [View frame];
ret->Width = frame.size.width;
ret->Height = frame.size.height;
ret->Width = lastSize.width;
ret->Height = lastSize.height;
return S_OK;
}
@ -206,9 +205,15 @@ HRESULT WindowBaseImpl::GetFrameSize(AvnSize *ret) {
if (ret == nullptr)
return E_POINTER;
auto frame = [Window frame];
ret->Width = frame.size.width;
ret->Height = frame.size.height;
if(Window == nullptr){
ret->Width = 0;
ret->Height = 0;
}
else {
auto frame = [Window frame];
ret->Width = frame.size.width;
ret->Height = frame.size.height;
}
return S_OK;
}

2
src/Avalonia.Native/WindowImplBase.cs

@ -117,7 +117,7 @@ namespace Avalonia.Native
if (_native != null)
{
var s = _native.FrameSize;
return new Size(s.Width, s.Height);
return s.Width == 0 && s.Height == 0 ? null : new Size(s.Width, s.Height);
}
return default;

Loading…
Cancel
Save