Browse Source

fix double context request from hold gesture (#13948)

pull/13966/head
Emmanuel Hansen 3 years ago
committed by GitHub
parent
commit
7fe2747f41
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 7
      src/Avalonia.Controls/Control.cs

7
src/Avalonia.Controls/Control.cs

@ -380,10 +380,13 @@ namespace Avalonia.Controls
private void OnHoldEvent(object? sender, HoldingRoutedEventArgs e)
{
if (!e.Handled && e.HoldingState == HoldingState.Started)
if (e.Source == this && !e.Handled && e.HoldingState == HoldingState.Started)
{
// Trigger ContentRequest when hold has started
RaiseEvent(e.PointerEventArgs is { } ev ? new ContextRequestedEventArgs(ev) : new ContextRequestedEventArgs());
var contextEvent = e.PointerEventArgs is { } ev ? new ContextRequestedEventArgs(ev) : new ContextRequestedEventArgs();
RaiseEvent(contextEvent);
e.Handled = contextEvent.Handled;
}
}

Loading…
Cancel
Save