Browse Source

#2704: Delay decompilation requests until context menu is closed.

pull/2709/head
Siegfried Pammer 3 years ago
parent
commit
e2d79774cd
  1. 18
      ILSpy/MainWindow.xaml.cs

18
ILSpy/MainWindow.xaml.cs

@ -1430,6 +1430,20 @@ namespace ICSharpCode.ILSpy
#endregion #endregion
#region Decompile (TreeView_SelectionChanged) #region Decompile (TreeView_SelectionChanged)
bool delayDecompilationRequestDueToContextMenu;
protected override void OnContextMenuClosing(ContextMenuEventArgs e)
{
base.OnContextMenuClosing(e);
if (delayDecompilationRequestDueToContextMenu)
{
delayDecompilationRequestDueToContextMenu = false;
var state = DockWorkspace.Instance.ActiveTabPage.GetState() as DecompilerTextViewState;
DecompileSelectedNodes(state);
}
}
void TreeView_SelectionChanged(object sender, SelectionChangedEventArgs e) void TreeView_SelectionChanged(object sender, SelectionChangedEventArgs e)
{ {
DecompilerTextViewState state = null; DecompilerTextViewState state = null;
@ -1437,7 +1451,9 @@ namespace ICSharpCode.ILSpy
{ {
state = DockWorkspace.Instance.ActiveTabPage.GetState() as DecompilerTextViewState; state = DockWorkspace.Instance.ActiveTabPage.GetState() as DecompilerTextViewState;
} }
if (!changingActiveTab)
this.delayDecompilationRequestDueToContextMenu = Mouse.RightButton == MouseButtonState.Pressed;
if (!changingActiveTab && !delayDecompilationRequestDueToContextMenu)
{ {
DecompileSelectedNodes(state); DecompileSelectedNodes(state);
} }

Loading…
Cancel
Save