diff options
author | johnsonj <unknown> | 2015-09-04 13:07:49 +1000 |
---|---|---|
committer | johnsonj <unknown> | 2015-09-04 13:07:49 +1000 |
commit | 521eab3c0d76888cca009ce85b7554731cf5ba1f (patch) | |
tree | cd2893bd9bb2b1787f4f0e86b5294ca83a0f3758 /src/Editor.cxx | |
parent | c8b8650e823e9ea0fb59bdd9108c9c491a4ff4ea (diff) | |
download | scintilla-mirror-521eab3c0d76888cca009ce85b7554731cf5ba1f.tar.gz |
Change FillVirtualSpace to ClearBeforeTentativeStart and delete selected text.
Diffstat (limited to 'src/Editor.cxx')
-rw-r--r-- | src/Editor.cxx | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/Editor.cxx b/src/Editor.cxx index 3efd279df..2c613090c 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -1948,12 +1948,21 @@ void Editor::AddCharUTF(const char *s, unsigned int len, bool treatAsDBCS) { } } -void Editor::FillVirtualSpace() { +void Editor::ClearBeforeTentativeStart() { // Make positions for the first composition string. - for (size_t r=0; r<sel.Count(); r++) { + for (size_t r = 0; r<sel.Count(); r++) { if (!RangeContainsProtected(sel.Range(r).Start().Position(), sel.Range(r).End().Position())) { int positionInsert = sel.Range(r).Start().Position(); + if (!sel.Range(r).Empty()) { + if (sel.Range(r).Length()) { + pdoc->DeleteChars(positionInsert, sel.Range(r).Length()); + sel.Range(r).ClearVirtualSpace(); + } else { + // Range is all virtual so collapse to start of virtual space + sel.Range(r).MinimizeVirtualSpace(); + } + } InsertSpace(positionInsert, sel.Range(r).caret.VirtualSpace()); sel.Range(r).ClearVirtualSpace(); } |