From 149c8660b0697c31ca5d2012f1ca30203692d943 Mon Sep 17 00:00:00 2001 From: martin Date: Tue, 13 Mar 2012 23:30:25 +0000 Subject: [PATCH] SynEdit Win-IME: fix potential issue with shared edits git-svn-id: trunk@35953 - --- components/synedit/lazsynimm.pas | 13 ++++--------- components/synedit/synedit.pp | 2 -- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/components/synedit/lazsynimm.pas b/components/synedit/lazsynimm.pas index 8b0024a39f..cf42dd48f6 100644 --- a/components/synedit/lazsynimm.pas +++ b/components/synedit/lazsynimm.pas @@ -68,8 +68,6 @@ type FImeBlockSelection, FImeBlockSelection2: TSynEditSelection; FImeMarkupSelection, FImeMarkupSelection2: TSynEditMarkupSelection; FInImeMsg: Boolean; - FRedoList: TSynEditUndoList; - FUndoList: TSynEditUndoList; procedure SetImeTempText(const s: string); procedure DoOnCommand(Sender: TObject; AfterProcessing: boolean; var Handled: boolean; var Command: TSynEditorCommand; var AChar: TUTF8Char; Data: pointer; @@ -86,9 +84,6 @@ type procedure WMImeStartComposition(var Msg: TMessage); override; procedure WMImeEndComposition(var Msg: TMessage); override; procedure FocusKilled; override; - - property UndoList: TSynEditUndoList read FUndoList write FUndoList; - property RedoList: TSynEditUndoList read FRedoList write FRedoList; end; implementation @@ -389,11 +384,11 @@ begin f := FInImeMsg; FInImeMsg := True; - fUndoList.Lock; - fRedoList.Lock; + ViewedTextBuffer.UndoList.Lock; + ViewedTextBuffer.RedoList.Lock; FImeBlockSelection.SelText := s; - fUndoList.Unlock; - fRedoList.Unlock; + ViewedTextBuffer.UndoList.Unlock; + ViewedTextBuffer.RedoList.Unlock; FInImeMsg := f; p2 := FImeBlockSelection.FirstLineBytePos; diff --git a/components/synedit/synedit.pp b/components/synedit/synedit.pp index a3ea6a2e75..e136ed0a18 100644 --- a/components/synedit/synedit.pp +++ b/components/synedit/synedit.pp @@ -1975,8 +1975,6 @@ begin {$IFDEF WinIME} {$IFDEF WinIMEFull} FImeHandler := LazSynImeFull.Create(Self); - LazSynImeFull(FImeHandler).UndoList := fUndoList; - LazSynImeFull(FImeHandler).RedoList := fRedoList; {$ELSE} FImeHandler := LazSynImeSimple.Create(Self); LazSynImeSimple(FImeHandler).TextDrawer := FTextDrawer;