From 5f47b4be530001b4b0318358c7a0ca940de182f0 Mon Sep 17 00:00:00 2001 From: Julien Lebosquain Date: Thu, 5 Feb 2026 11:51:42 +0000 Subject: [PATCH] macOS: Ensure render target is at least 1x1 (#20610) * Ensure Metal render target is at least 1x1 * Ensure software render target is at least 1x1 --- native/Avalonia.Native/src/OSX/AvnView.mm | 3 ++- src/Avalonia.Native/TopLevelImpl.cs | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/native/Avalonia.Native/src/OSX/AvnView.mm b/native/Avalonia.Native/src/OSX/AvnView.mm index 0da6f43bf4..600dca865f 100644 --- a/native/Avalonia.Native/src/OSX/AvnView.mm +++ b/native/Avalonia.Native/src/OSX/AvnView.mm @@ -42,7 +42,8 @@ - (void) updateRenderTarget { if(_currentRenderTarget) { - [_currentRenderTarget resize:_lastPixelSize withScale:static_cast([[self window] backingScaleFactor])]; + AvnPixelSize size { MAX(_lastPixelSize.Width, 1), MAX(_lastPixelSize.Height, 1) }; + [_currentRenderTarget resize:size withScale:static_cast([[self window] backingScaleFactor])]; [self setNeedsDisplayInRect:[self frame]]; } } diff --git a/src/Avalonia.Native/TopLevelImpl.cs b/src/Avalonia.Native/TopLevelImpl.cs index c707da379f..9ac24eb85a 100644 --- a/src/Avalonia.Native/TopLevelImpl.cs +++ b/src/Avalonia.Native/TopLevelImpl.cs @@ -566,8 +566,8 @@ internal class TopLevelImpl : ITopLevelImpl, IFramebufferPlatformSurface { ObjectDisposedException.ThrowIf(_target is null, this); - var w = _parent._savedLogicalSize.Width * _parent._savedScaling; - var h = _parent._savedLogicalSize.Height * _parent._savedScaling; + var w = Math.Max(_parent._savedLogicalSize.Width * _parent._savedScaling, 1); + var h = Math.Max(_parent._savedLogicalSize.Height * _parent._savedScaling, 1); var dpi = _parent._savedScaling * 96; return new DeferredFramebuffer(_target, cb => {