Browse Source

prevent extra menu updates that are not required.

pull/4358/head
Dan Walmsley 6 years ago
parent
commit
dbff767607
  1. 37
      src/Avalonia.Native/AvaloniaNativeMenuExporter.cs

37
src/Avalonia.Native/AvaloniaNativeMenuExporter.cs

@ -74,31 +74,34 @@ namespace Avalonia.Native
return result;
}
void DoLayoutReset()
private void DoLayoutReset()
{
_resetQueued = false;
if (_nativeWindow is null)
if (_resetQueued)
{
var appMenu = NativeMenu.GetMenu(Application.Current);
_resetQueued = false;
if (appMenu == null)
if (_nativeWindow is null)
{
appMenu = CreateDefaultAppMenu();
NativeMenu.SetMenu(Application.Current, appMenu);
}
var appMenu = NativeMenu.GetMenu(Application.Current);
SetMenu(appMenu);
}
else
{
if (_menu != null)
if (appMenu == null)
{
appMenu = CreateDefaultAppMenu();
NativeMenu.SetMenu(Application.Current, appMenu);
}
SetMenu(appMenu);
}
else
{
SetMenu(_nativeWindow, _menu);
if (_menu != null)
{
SetMenu(_nativeWindow, _menu);
}
}
}
_exported = true;
_exported = true;
}
}
internal void QueueReset()

Loading…
Cancel
Save