aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--doc/ScintillaHistory.html4
-rw-r--r--src/Editor.cxx10
-rw-r--r--src/Editor.h1
3 files changed, 14 insertions, 1 deletions
diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html
index 49e11739e..7777e5bfa 100644
--- a/doc/ScintillaHistory.html
+++ b/doc/ScintillaHistory.html
@@ -472,6 +472,10 @@
C++ lexer supports Go back quoted raw string literals with lexer.cpp.backquoted.strings option.
<a href="http://sourceforge.net/p/scintilla/feature-requests/1047/">Feature #1047.</a>
</li>
+ <li>
+ Bug fixed where caret remained invisible when period set to 0.
+ <a href="http://sourceforge.net/p/scintilla/bugs/1592/">Bug #1592</a>.
+ </li>
</ul>
<h3>
<a href="http://prdownloads.sourceforge.net/scintilla/scite341.zip?download">Release 3.4.1</a>
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();