From 391868417e87ea9ef05042809bdc5435f5e34652 Mon Sep 17 00:00:00 2001 From: Bastian Eicher Date: Mon, 12 Sep 2022 09:54:19 +0200 Subject: [PATCH] Made GuiCommandHandler.RunTask() robust against spurious Win32Exceptions --- src/Commands.WinForms/GuiCommandHandler.cs | 26 ++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/src/Commands.WinForms/GuiCommandHandler.cs b/src/Commands.WinForms/GuiCommandHandler.cs index dc346474d..de634cbc6 100644 --- a/src/Commands.WinForms/GuiCommandHandler.cs +++ b/src/Commands.WinForms/GuiCommandHandler.cs @@ -73,8 +73,30 @@ public override void RunTask(ITask task) Log.Debug("Task: " + task.Name); - task.Run(CancellationToken, CredentialProvider, _wrapper.Post(form => form.AddProgressFor(task))); - _wrapper.Post(form => form.RemoveProgressFor(task)); + IProgress? progress = null; + try + { + progress = _wrapper.Post(form => form.AddProgressFor(task)); + } + #region Error handling + catch (Win32Exception ex) + { + Log.Debug($"Problem showing GUI progress control for {task.Name}", ex); + } + #endregion + + task.Run(CancellationToken, CredentialProvider, progress); + + try + { + _wrapper.Post(form => form.RemoveProgressFor(task)); + } + #region Error handling + catch (Win32Exception ex) + { + Log.Debug($"Problem removing GUI progress control for {task.Name}", ex); + } + #endregion } #endregion