From 5f91ba3d2011e7f3667af8ca05b2aca7ea222c53 Mon Sep 17 00:00:00 2001 From: martin Date: Tue, 9 Dec 2008 00:46:49 +0000 Subject: [PATCH] SynEdit Folding: Fixed Access to random memory / Bug #0012769 git-svn-id: trunk@17734 - --- components/synedit/syneditfoldedview.pp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/components/synedit/syneditfoldedview.pp b/components/synedit/syneditfoldedview.pp index 29641d2288..d78a71c39b 100644 --- a/components/synedit/syneditfoldedview.pp +++ b/components/synedit/syneditfoldedview.pp @@ -512,6 +512,7 @@ begin Clear; if fNestedNodesTree <> nil then begin fNestedNodesTree.fRoot := nil; //was freed in self.Clear + fNestedNodesTree.fNestParent := nil; // Or Destroy will access invalid memory fNestedNodesTree.Free; end; inherited Destroy; @@ -1372,7 +1373,7 @@ begin if fNestedNodesTree = nil then fNestedNodesTree := TSynTextFoldAVLTree.Create; Result := fNestedNodesTree; Result.fRoot := ANode.Nested; - Result.fNestParent := ANode; + Result.fNestParent := ANode; // TODO: this is dangerous, this is never cleaned up, even if ANode is Destroyed Result.fRootOffset := aOffset; end;