Browse Source

Use default param instead of setting _resetQueued to true on menu set

pull/4404/head
Michael Babienco 6 years ago
parent
commit
4c4199f9d5
  1. 9
      src/Avalonia.Native/AvaloniaNativeMenuExporter.cs

9
src/Avalonia.Native/AvaloniaNativeMenuExporter.cs

@ -39,8 +39,7 @@ namespace Avalonia.Native
public void SetNativeMenu(NativeMenu menu) public void SetNativeMenu(NativeMenu menu)
{ {
_menu = menu == null ? new NativeMenu() : menu; _menu = menu == null ? new NativeMenu() : menu;
_resetQueued = true; // we've reset the menu to something new, so make sure that a reset is queued DoLayoutReset(true);
DoLayoutReset();
} }
internal void UpdateIfNeeded() internal void UpdateIfNeeded()
@ -74,9 +73,9 @@ namespace Avalonia.Native
return result; return result;
} }
private void DoLayoutReset() private void DoLayoutReset(bool forceUpdate = false)
{ {
if (_resetQueued) if (_resetQueued || forceUpdate)
{ {
_resetQueued = false; _resetQueued = false;
@ -109,7 +108,7 @@ namespace Avalonia.Native
if (_resetQueued) if (_resetQueued)
return; return;
_resetQueued = true; _resetQueued = true;
Dispatcher.UIThread.Post(DoLayoutReset, DispatcherPriority.Background); Dispatcher.UIThread.Post(() => DoLayoutReset(), DispatcherPriority.Background);
} }
private void SetMenu(NativeMenu menu) private void SetMenu(NativeMenu menu)

Loading…
Cancel
Save