From 3373849c2b2f33a1620b53faf5e206ebe3d9d17a Mon Sep 17 00:00:00 2001 From: Dan Walmsley Date: Mon, 24 May 2021 14:06:30 +0100 Subject: [PATCH 1/2] force osx shadow invalidation on programatic resize. --- native/Avalonia.Native/src/OSX/window.mm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/native/Avalonia.Native/src/OSX/window.mm b/native/Avalonia.Native/src/OSX/window.mm index eb63cbd9f9..95a638ad72 100644 --- a/native/Avalonia.Native/src/OSX/window.mm +++ b/native/Avalonia.Native/src/OSX/window.mm @@ -265,6 +265,11 @@ public: [Window setContentSize:NSSize{x, y}]; + + // Forces the shadow to invalidate on resize. + [Window setContentView: nullptr]; + [Window setContentView: StandardContainer]; + return S_OK; } } From a0a039860cbff4f7c6f9b4addc7880d4df4de6cf Mon Sep 17 00:00:00 2001 From: Dan Walmsley Date: Tue, 25 May 2021 11:24:56 +0100 Subject: [PATCH 2/2] fix shadow ensuring the window frame and avalonia standard container are both resized. --- native/Avalonia.Native/src/OSX/window.mm | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/native/Avalonia.Native/src/OSX/window.mm b/native/Avalonia.Native/src/OSX/window.mm index 95a638ad72..870345e543 100644 --- a/native/Avalonia.Native/src/OSX/window.mm +++ b/native/Avalonia.Native/src/OSX/window.mm @@ -263,13 +263,9 @@ public: BaseEvents->Resized(AvnSize{x,y}); } + [StandardContainer setFrameSize:NSSize{x,y}]; [Window setContentSize:NSSize{x, y}]; - - // Forces the shadow to invalidate on resize. - [Window setContentView: nullptr]; - [Window setContentView: StandardContainer]; - return S_OK; } } @@ -2250,6 +2246,7 @@ protected: { if (Window != nullptr) { + [StandardContainer setFrameSize:NSSize{x,y}]; [Window setContentSize:NSSize{x, y}]; [Window setFrameTopLeftPoint:ToNSPoint(ConvertPointY(lastPositionSet))];