Browse Source

Merge branch 'master' into feature/fluent-datagrid

pull/4534/head
danwalmsley 6 years ago
committed by GitHub
parent
commit
3b347aca9e
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 22
      src/Avalonia.Controls/Presenters/ScrollContentPresenter.cs
  2. 27
      src/Avalonia.Native/ScreenImpl.cs
  3. 11
      src/Avalonia.Native/WindowImplBase.cs

22
src/Avalonia.Controls/Presenters/ScrollContentPresenter.cs

@ -257,15 +257,7 @@ namespace Avalonia.Controls.Presenters
return base.ArrangeOverride(finalSize);
}
try
{
_arranging = true;
return ArrangeWithAnchoring(finalSize);
}
finally
{
_arranging = false;
}
return ArrangeWithAnchoring(finalSize);
}
private Size ArrangeWithAnchoring(Size finalSize)
@ -316,7 +308,17 @@ namespace Avalonia.Controls.Presenters
}
Extent = newExtent;
Offset = newOffset;
try
{
_arranging = true;
Offset = newOffset;
}
finally
{
_arranging = false;
}
ArrangeOverrideImpl(size, -Offset);
}

27
src/Avalonia.Native/ScreenImpl.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>();
}
}

11
src/Avalonia.Native/WindowImplBase.cs

@ -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();
}

Loading…
Cancel
Save