From 5b452a4e88ae2b7fb952fb2189c55c5ceef2b2f3 Mon Sep 17 00:00:00 2001 From: Christopher Blackman Date: Thu, 8 Jan 2026 14:29:03 -0500 Subject: [PATCH] Remove SpriteVisual from tree before disposing of resources Remove SpriteVisual before disposing of resources --- .../Extensions/src/Shadows/AttachedShadowBase.cs | 2 +- .../src/Shadows/AttachedShadowElementContext.cs | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/components/Extensions/src/Shadows/AttachedShadowBase.cs b/components/Extensions/src/Shadows/AttachedShadowBase.cs index add9ac80..aca04150 100644 --- a/components/Extensions/src/Shadows/AttachedShadowBase.cs +++ b/components/Extensions/src/Shadows/AttachedShadowBase.cs @@ -161,8 +161,8 @@ protected internal virtual void OnElementContextInitialized(AttachedShadowElemen /// The that is being uninitialized. protected internal virtual void OnElementContextUninitialized(AttachedShadowElementContext context) { - context.ClearAndDisposeResources(); ElementCompositionPreview.SetElementChildVisual(context.Element, null!); + context.ClearAndDisposeResources(); } /// diff --git a/components/Extensions/src/Shadows/AttachedShadowElementContext.cs b/components/Extensions/src/Shadows/AttachedShadowElementContext.cs index 4c23b241..f47a5a81 100644 --- a/components/Extensions/src/Shadows/AttachedShadowElementContext.cs +++ b/components/Extensions/src/Shadows/AttachedShadowElementContext.cs @@ -135,6 +135,12 @@ private void Uninitialize() IsInitialized = false; + if (Element != null) + { + ElementCompositionPreview.SetElementChildVisual(Element, null!); + Element.SizeChanged -= OnElementSizeChanged; + } + Parent.OnElementContextUninitialized(this); if (SpriteVisual != null) @@ -148,12 +154,6 @@ private void Uninitialize() Shadow.Dispose(); } - if (Element != null) - { - ElementCompositionPreview.SetElementChildVisual(Element, null!); - Element.SizeChanged -= OnElementSizeChanged; - } - SpriteVisual = null; Shadow = null; ElementVisual = null;