From 1e5561c1a841d848e710ab6d2b58418ade26def1 Mon Sep 17 00:00:00 2001 From: Troy Stanger Date: Fri, 9 Nov 2018 11:51:55 -0600 Subject: [PATCH] Properly dispose of the prototype renderer. --- Ooui.Forms/Renderers/ListViewRenderer.cs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Ooui.Forms/Renderers/ListViewRenderer.cs b/Ooui.Forms/Renderers/ListViewRenderer.cs index 069c264..4c2f1ff 100644 --- a/Ooui.Forms/Renderers/ListViewRenderer.cs +++ b/Ooui.Forms/Renderers/ListViewRenderer.cs @@ -79,6 +79,8 @@ namespace Ooui.Forms.Renderers if (disposing && !_disposed) { + ClearPrototype(); + if (Element != null) { var templatedItems = TemplatedItemsView.TemplatedItems; templatedItems.CollectionChanged -= OnCollectionChanged; @@ -89,6 +91,17 @@ namespace Ooui.Forms.Renderers } } + void ClearPrototype() + { + if (_prototype != null) + { + var element = _prototype.Element; + element?.ClearValue(Platform.RendererProperty); + _prototype?.Dispose(); + _prototype = null; + } + } + private void OnCollectionChanged (object sender, NotifyCollectionChangedEventArgs e) { UpdateItems ();