aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2014-04-15 14:47:02 +1000
committerNeil <nyamatongwe@gmail.com>2014-04-15 14:47:02 +1000
commit66aecf5f898d5303564889689d37aaadb1bce5b1 (patch)
treea8e6713e131ceb6f07f27cd6b3d1f6133b6c2705 /src
parent2dab76f280e5696ebaf3d861aa70d78423d434e4 (diff)
downloadscintilla-mirror-66aecf5f898d5303564889689d37aaadb1bce5b1.tar.gz
Bug [#1592]. Fix bug where caret remained invisible when period set to 0.
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();