aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authornyamatongwe <nyamatongwe@gmail.com>2013-04-17 12:56:44 +1000
committernyamatongwe <nyamatongwe@gmail.com>2013-04-17 12:56:44 +1000
commitff4b7da641c12e57cbff25cd826fb7a14882c747 (patch)
treefb02c40b2274d208a4299d32123c470ba05d2ef0
parente69cb8f6878b1b3e8ffbcbf9ef139976998254f0 (diff)
downloadscintilla-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.mm10
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];