diff --git a/components/synedit/lazsynimm.pas b/components/synedit/lazsynimm.pas index 2cf3cbbe20..86bcea4c2c 100644 --- a/components/synedit/lazsynimm.pas +++ b/components/synedit/lazsynimm.pas @@ -464,7 +464,11 @@ begin TCustomSynEdit(FriendEdit).UnregisterBeforeMouseDownHandler(@DoOnMouse); TCustomSynEdit(FriendEdit).UnregisterCommandHandler(@DoOnCommand); TCustomSynEdit(FriendEdit).UnRegisterStatusChangedHandler(@DoStatusChanged); + TSynEditMarkupManager(MarkupMgr).RemoveMarkUp(FImeMarkupSelection); + TSynEditMarkupManager(MarkupMgr).RemoveMarkUp(FImeMarkupSelection2); + FreeAndNil(FImeMarkupSelection); + FreeAndNil(FImeMarkupSelection2); FreeAndNil(FImeBlockSelection); FreeAndNil(FImeBlockSelection2); inherited Destroy; diff --git a/components/synedit/synedit.pp b/components/synedit/synedit.pp index c6add7da15..1d469dd0df 100644 --- a/components/synedit/synedit.pp +++ b/components/synedit/synedit.pp @@ -2419,6 +2419,9 @@ begin FreeAndNil(FRightGutterArea); FreeAndNil(FTextArea); FreeAndNil(fTSearch); + {$IFDEF WinIME} + FreeAndNil(FImeHandler); + {$ENDIF} FreeAndNil(fMarkupManager); FreeAndNil(fBookMarkOpt); FreeAndNil(fKeyStrokes); @@ -2431,9 +2434,6 @@ begin FreeAndNil(FRightGutter); FreeAndNil(FPaintLineColor); FreeAndNil(FPaintLineColor2); - {$IFDEF WinIME} - FreeAndNil(FImeHandler); - {$ENDIF} FreeAndNil(fTextDrawer); FreeAndNil(fFontDummy); DestroyMarkList; // before detach from FLines