diff options
author | nyamatongwe <nyamatongwe@gmail.com> | 2013-04-17 12:56:44 +1000 |
---|---|---|
committer | nyamatongwe <nyamatongwe@gmail.com> | 2013-04-17 12:56:44 +1000 |
commit | ff4b7da641c12e57cbff25cd826fb7a14882c747 (patch) | |
tree | fb02c40b2274d208a4299d32123c470ba05d2ef0 | |
parent | e69cb8f6878b1b3e8ffbcbf9ef139976998254f0 (diff) | |
download | scintilla-mirror-ff4b7da641c12e57cbff25cd826fb7a14882c747.tar.gz |
Restore undo collection after sequence of composition actions by only remembering
undo collection state when switching to composition, not when composition changed.
-rw-r--r-- | cocoa/ScintillaView.mm | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/cocoa/ScintillaView.mm b/cocoa/ScintillaView.mm index 4fa6dcb54..0b8fddf56 100644 --- a/cocoa/ScintillaView.mm +++ b/cocoa/ScintillaView.mm @@ -403,14 +403,16 @@ static NSCursor *cursorFromEnum(Window::Cursor cursor) } else { + // Switching into composition so remember if collecting undo. + undoCollectionWasActive = [mOwner getGeneralProperty: SCI_GETUNDOCOLLECTION] != 0; + + // Keep Scintilla from collecting undo actions for the composition task. + [mOwner setGeneralProperty: SCI_SETUNDOCOLLECTION value: 0]; + // Ensure only a single selection mOwner.backend->SelectOnlyMainSelection(); } - // Keep Scintilla from collecting undo actions for the composition task. - undoCollectionWasActive = [mOwner getGeneralProperty: SCI_GETUNDOCOLLECTION] != 0; - [mOwner setGeneralProperty: SCI_SETUNDOCOLLECTION value: 0]; - // Note: Scintilla internally works almost always with bytes instead chars, so we need to take // this into account when determining selection ranges and such. std::string raw_text = [newText UTF8String]; |