diff --git a/src/Avalonia.Controls/Presenters/TextPresenter.cs b/src/Avalonia.Controls/Presenters/TextPresenter.cs index fc7e1db1df..9aba966629 100644 --- a/src/Avalonia.Controls/Presenters/TextPresenter.cs +++ b/src/Avalonia.Controls/Presenters/TextPresenter.cs @@ -461,6 +461,7 @@ namespace Avalonia.Controls.Presenters public void ShowCaret() { + EnsureCaretTimer(); _caretBlink = true; _caretTimer?.Start(); InvalidateVisual(); @@ -484,6 +485,8 @@ namespace Avalonia.Controls.Presenters return; } + EnsureCaretTimer(); + if (_caretTimer?.IsEnabled ?? false) { _caretBlink = true; @@ -728,6 +731,14 @@ namespace Avalonia.Controls.Presenters CaretChanged(); } + + private void EnsureCaretTimer() + { + if (_caretTimer == null) + { + ResetCaretTimer(); + } + } private void ResetCaretTimer() {