From 75bb196b4f7007a0c62ee78f9399b693e27c7e00 Mon Sep 17 00:00:00 2001 From: Nikita Tsukanov Date: Mon, 11 May 2020 21:51:01 +0300 Subject: [PATCH] Workaround for ItemsRepeater producing nonsensical values --- src/Skia/Avalonia.Skia/DrawingContextImpl.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/Skia/Avalonia.Skia/DrawingContextImpl.cs b/src/Skia/Avalonia.Skia/DrawingContextImpl.cs index fc7761d015..5267f68260 100644 --- a/src/Skia/Avalonia.Skia/DrawingContextImpl.cs +++ b/src/Skia/Avalonia.Skia/DrawingContextImpl.cs @@ -248,6 +248,13 @@ namespace Avalonia.Skia /// public void DrawRectangle(IBrush brush, IPen pen, RoundedRect rect, BoxShadows boxShadows = default) { + if (rect.Rect.Height <= 0 || rect.Rect.Width <= 0) + return; + // Arbitrary chosen values + // On OSX Skia breaks OpenGL context when asked to draw, e. g. (0, 0, 623, 6666600) rect + if (rect.Rect.Height > 8192 || rect.Rect.Width > 8192) + boxShadows = default; + var rc = rect.Rect.ToSKRect(); var isRounded = rect.IsRounded; var needRoundRect = rect.IsRounded || (boxShadows.HasInsetShadows);