Skip to content

Commit f5b8bc4

Browse files
committed
fix: hightlight not working the first time clicking the first line (#448)
1 parent f42ddd8 commit f5b8bc4

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

src/Views/Blame.axaml.cs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,7 @@ public Models.BlameData BlameData
233233
TextArea.LeftMargins.Add(new VerticalSeperatorMargin(this));
234234
TextArea.LeftMargins.Add(new CommitInfoMargin(this) { Margin = new Thickness(8, 0) });
235235
TextArea.LeftMargins.Add(new VerticalSeperatorMargin(this));
236+
TextArea.Caret.PositionChanged += OnTextAreaCaretPositionChanged;
236237
TextArea.LayoutUpdated += OnTextAreaLayoutUpdated;
237238
TextArea.PointerWheelChanged += OnTextAreaPointerWheelChanged;
238239
TextArea.TextView.ContextRequested += OnTextViewContextRequested;
@@ -279,7 +280,9 @@ protected override void OnUnloaded(RoutedEventArgs e)
279280
base.OnUnloaded(e);
280281

281282
TextArea.LeftMargins.Clear();
283+
TextArea.Caret.PositionChanged -= OnTextAreaCaretPositionChanged;
282284
TextArea.LayoutUpdated -= OnTextAreaLayoutUpdated;
285+
TextArea.PointerWheelChanged -= OnTextAreaPointerWheelChanged;
283286
TextArea.TextView.ContextRequested -= OnTextViewContextRequested;
284287
TextArea.TextView.VisualLinesChanged -= OnTextViewVisualLinesChanged;
285288

@@ -312,7 +315,7 @@ protected override void OnPropertyChanged(AvaloniaPropertyChangedEventArgs chang
312315
}
313316
}
314317

315-
private void OnTextAreaLayoutUpdated(object sender, EventArgs e)
318+
private void OnTextAreaCaretPositionChanged(object sender, EventArgs e)
316319
{
317320
if (!TextArea.IsFocused)
318321
return;
@@ -325,6 +328,12 @@ private void OnTextAreaLayoutUpdated(object sender, EventArgs e)
325328
InvalidateVisual();
326329
}
327330

331+
private void OnTextAreaLayoutUpdated(object sender, EventArgs e)
332+
{
333+
if (TextArea.IsFocused)
334+
InvalidateVisual();
335+
}
336+
328337
private void OnTextAreaPointerWheelChanged(object sender, PointerWheelEventArgs e)
329338
{
330339
if (!TextArea.IsFocused && !string.IsNullOrEmpty(_highlight))

0 commit comments

Comments
 (0)