aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--doc/ScintillaHistory.html5
-rw-r--r--src/Editor.cxx9
2 files changed, 11 insertions, 3 deletions
diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html
index b654f0ed9..dafd6d9ab 100644
--- a/doc/ScintillaHistory.html
+++ b/doc/ScintillaHistory.html
@@ -565,6 +565,11 @@
<a href="http://sourceforge.net/p/scintilla/bugs/1919/">Bug #1919</a>.
</li>
<li>
+ Ensure redraw when application changes overtype mode so caret change visible even when not blinking.
+ Notify application with SC_UPDATE_SELECTION when overtype changed - previously
+ sent SC_UPDATE_CONTENT.
+ </li>
+ <li>
Fix drawing failure when in wrap mode for delete to start/end of line which
affects later lines but did not redraw them.
<a href="http://sourceforge.net/p/scintilla/bugs/1949/">Bug #1949</a>.
diff --git a/src/Editor.cxx b/src/Editor.cxx
index 2294105b2..740e230f8 100644
--- a/src/Editor.cxx
+++ b/src/Editor.cxx
@@ -3733,9 +3733,8 @@ int Editor::KeyCommand(unsigned int iMessage) {
break;
case SCI_EDITTOGGLEOVERTYPE:
inOverstrike = !inOverstrike;
+ ContainerNeedsUpdate(SC_UPDATE_SELECTION);
ShowCaretAtCurrentPosition();
- ContainerNeedsUpdate(SC_UPDATE_CONTENT);
- NotifyUpdateUI();
break;
case SCI_CANCEL: // Cancel any modes - handled in subclass
// Also unselect text
@@ -7637,7 +7636,11 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) {
}
case SCI_SETOVERTYPE:
- inOverstrike = wParam != 0;
+ if (inOverstrike != (wParam != 0)) {
+ inOverstrike = wParam != 0;
+ ContainerNeedsUpdate(SC_UPDATE_SELECTION);
+ ShowCaretAtCurrentPosition();
+ }
break;
case SCI_GETOVERTYPE: