From 1914a3cab25ab337e3ec4d6de3c5581312ace74a Mon Sep 17 00:00:00 2001 From: Gadfly Date: Sun, 29 Sep 2024 14:42:53 +0800 Subject: [PATCH 1/2] fix: avoid NRE in ContextMenuExtension --- src/Views/ContextMenuExtension.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Views/ContextMenuExtension.cs b/src/Views/ContextMenuExtension.cs index 6e6dbf20f..35a624b6b 100644 --- a/src/Views/ContextMenuExtension.cs +++ b/src/Views/ContextMenuExtension.cs @@ -1,6 +1,6 @@ using System.ComponentModel; - using Avalonia.Controls; +using Avalonia.Threading; namespace SourceGit.Views { @@ -15,7 +15,10 @@ public static void OpenContextMenu(this Control control, ContextMenu menu) menu.Closing += OnContextMenuClosing; // Clear context menu because it is dynamic. control.ContextMenu = menu; - control.ContextMenu.Open(); + Dispatcher.UIThread.InvokeAsync(() => + { + control.ContextMenu?.Open(); + }); } private static void OnContextMenuClosing(object sender, CancelEventArgs e) From 73130735b706eb85f55a91a909c4eb50d6e634a3 Mon Sep 17 00:00:00 2001 From: Gadfly Date: Sun, 29 Sep 2024 15:39:11 +0800 Subject: [PATCH 2/2] fix: avoid NRE in ContextMenuExtension remove useless UIThread --- src/Views/ContextMenuExtension.cs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/Views/ContextMenuExtension.cs b/src/Views/ContextMenuExtension.cs index 35a624b6b..2abcf2b91 100644 --- a/src/Views/ContextMenuExtension.cs +++ b/src/Views/ContextMenuExtension.cs @@ -1,6 +1,5 @@ using System.ComponentModel; using Avalonia.Controls; -using Avalonia.Threading; namespace SourceGit.Views { @@ -15,10 +14,7 @@ public static void OpenContextMenu(this Control control, ContextMenu menu) menu.Closing += OnContextMenuClosing; // Clear context menu because it is dynamic. control.ContextMenu = menu; - Dispatcher.UIThread.InvokeAsync(() => - { - control.ContextMenu?.Open(); - }); + control.ContextMenu?.Open(); } private static void OnContextMenuClosing(object sender, CancelEventArgs e)