From 448fd78b8f7cfb5686dbab0c4400ee9cff161d2b Mon Sep 17 00:00:00 2001 From: Michael Bucari-Tovo Date: Thu, 12 Aug 2021 12:23:55 -0600 Subject: [PATCH] Added Dispose on IProcessable.Completed in case form is created but never shown. --- LibationWinForms/BookLiberation/BaseForms/ProcessBaseForm.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/LibationWinForms/BookLiberation/BaseForms/ProcessBaseForm.cs b/LibationWinForms/BookLiberation/BaseForms/ProcessBaseForm.cs index c57aaa8b..ee6f90e1 100644 --- a/LibationWinForms/BookLiberation/BaseForms/ProcessBaseForm.cs +++ b/LibationWinForms/BookLiberation/BaseForms/ProcessBaseForm.cs @@ -1,4 +1,5 @@ using DataLayer; +using Dinah.Core.Windows.Forms; using FileLiberator; using System; @@ -24,14 +25,17 @@ namespace LibationWinForms.BookLiberation //IStreamable.StreamingCompleted, and the IProcessable //events need to live past that event. processable.Completed += OnUnsubscribeAll; + processable.Completed += OnCompleetdDispose; } } + private void OnCompleetdDispose(object sender, LibraryBook e) => this.UIThread(() => Dispose()); private void OnUnsubscribeAll(object sender, LibraryBook e) { if (Streamable is IProcessable processable) { processable.Completed -= OnUnsubscribeAll; + processable.Completed -= OnCompleetdDispose; processable.Begin -= OnBegin; processable.Completed -= OnCompleted; processable.StatusUpdate -= OnStatusUpdate;