Skip to content

Commit 3e38388

Browse files
committed
Fixed cursor flickering
1 parent b1d222c commit 3e38388

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

CefSharp.Wpf/ChromiumWebBrowser.cs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -489,6 +489,7 @@ private void NoInliningConstructor()
489489
DragOver += OnDragOver;
490490
DragLeave += OnDragLeave;
491491
Drop += OnDrop;
492+
GiveFeedback += OnGiveFeedback;
492493

493494
IsVisibleChanged += OnIsVisibleChanged;
494495

@@ -610,6 +611,7 @@ protected virtual void Dispose(bool isDisposing)
610611
DragOver -= OnDragOver;
611612
DragLeave -= OnDragLeave;
612613
Drop -= OnDrop;
614+
GiveFeedback -= OnGiveFeedback;
613615

614616
IsVisibleChanged -= OnIsVisibleChanged;
615617

@@ -788,7 +790,7 @@ void IRenderWebBrowser.UpdateDragCursor(DragOperationsMask operation)
788790
protected virtual void UpdateDragCursor(DragOperationsMask operation)
789791
{
790792
var dragCursor = DragCursorProvider.GetCursor(operation);
791-
UiThreadRunSync(() => Mouse.SetCursor(dragCursor));
793+
UiThreadRunAsync(() => Mouse.SetCursor(dragCursor));
792794
}
793795

794796
/// <summary>
@@ -1532,6 +1534,16 @@ private void OnDragOver(object sender, DragEventArgs e)
15321534
}
15331535
}
15341536

1537+
/// <summary>
1538+
/// Handles the <see cref="E:GiveFeedback" /> event.
1539+
/// </summary>
1540+
/// <param name="sender">The sender.</param>
1541+
/// <param name="e">The <see cref="GiveFeedbackEventArgs"/> instance containing the event data.</param>
1542+
private void OnGiveFeedback(object sender, GiveFeedbackEventArgs e) {
1543+
/// prevent showing default cursor, the appropriate cursor will be set by <see cref=UpdateDragCursor />
1544+
e.Handled = true;
1545+
}
1546+
15351547
/// <summary>
15361548
/// Handles the <see cref="E:DragEnter" /> event.
15371549
/// </summary>

0 commit comments

Comments
 (0)