aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Editor.cxx10
-rw-r--r--src/Editor.h1
2 files changed, 10 insertions, 1 deletions
diff --git a/src/Editor.cxx b/src/Editor.cxx
index 1337a0e05..6cb33a07a 100644
--- a/src/Editor.cxx
+++ b/src/Editor.cxx
@@ -1542,6 +1542,14 @@ void Editor::DropCaret() {
InvalidateCaret();
}
+void Editor::CaretSetPeriod(int period) {
+ if (caret.period != period) {
+ caret.period = period;
+ caret.on = true;
+ InvalidateCaret();
+ }
+}
+
void Editor::InvalidateCaret() {
if (posDrag.IsValid()) {
InvalidateRange(posDrag.Position(), posDrag.Position() + 1);
@@ -7816,7 +7824,7 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) {
return caret.period;
case SCI_SETCARETPERIOD:
- caret.period = wParam;
+ CaretSetPeriod(wParam);
break;
case SCI_GETWORDCHARS:
diff --git a/src/Editor.h b/src/Editor.h
index 810175b58..532211283 100644
--- a/src/Editor.h
+++ b/src/Editor.h
@@ -420,6 +420,7 @@ protected: // ScintillaBase subclass needs access to much of Editor
void ScrollRange(SelectionRange range);
void ShowCaretAtCurrentPosition();
void DropCaret();
+ void CaretSetPeriod(int period);
void InvalidateCaret();
virtual void UpdateSystemCaret();