Browse Source

AvalonEdit Bugfix: caret is invisible if blinking is disabled in the system settings

pull/23/head
Daniel Grunwald 14 years ago
parent
commit
5f6c201698
  1. 8
      src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Editing/CaretLayer.cs

8
src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Editing/CaretLayer.cs

@ -37,8 +37,8 @@ namespace ICSharpCode.AvalonEdit.Editing
{ {
this.caretRectangle = caretRectangle; this.caretRectangle = caretRectangle;
this.isVisible = true; this.isVisible = true;
InvalidateVisual();
StartBlinkAnimation(); StartBlinkAnimation();
InvalidateVisual();
} }
public void Hide() public void Hide()
@ -53,9 +53,9 @@ namespace ICSharpCode.AvalonEdit.Editing
void StartBlinkAnimation() void StartBlinkAnimation()
{ {
TimeSpan blinkTime = Win32.CaretBlinkTime; TimeSpan blinkTime = Win32.CaretBlinkTime;
if (blinkTime.TotalMilliseconds >= 0) { blink = true; // the caret should visible initially
blink = false; // This is important if blinking is disabled (system reports a negative blinkTime)
caretBlinkTimer_Tick(null, null); if (blinkTime.TotalMilliseconds > 0) {
caretBlinkTimer.Interval = blinkTime; caretBlinkTimer.Interval = blinkTime;
caretBlinkTimer.Start(); caretBlinkTimer.Start();
} }

Loading…
Cancel
Save