diff options
| author | Daniel Gavin <danielgavin5@hotmail.com> | 2022-07-10 00:07:48 +0200 |
|---|---|---|
| committer | Daniel Gavin <danielgavin5@hotmail.com> | 2022-07-10 00:07:48 +0200 |
| commit | 96266332bfc5cef2bd06aa88f231999322e0513c (patch) | |
| tree | b6009e69d1ad79d11985d981f7ed790256e1435f /src/server/documents.odin | |
| parent | ec8bb7ab5a7aaabd1d8cbd159639b9f29ad4b8e6 (diff) | |
Fix memory leak
Diffstat (limited to 'src/server/documents.odin')
| -rw-r--r-- | src/server/documents.odin | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/server/documents.odin b/src/server/documents.odin index 335fc87..9f5be37 100644 --- a/src/server/documents.odin +++ b/src/server/documents.odin @@ -53,6 +53,8 @@ document_storage: DocumentStorage document_storage_shutdown :: proc() { for k, v in document_storage.documents { + common.scratch_allocator_destroy(v.allocator) + free(v.allocator) delete(k) } @@ -207,7 +209,6 @@ document_apply_changes :: proc(uri_string: string, changes: [dynamic]TextDocumen for change in changes { //for some reason sublime doesn't seem to care even if i tell it to do incremental sync if range, ok := change.range.(common.Range); ok { - absolute_range, ok := common.get_absolute_range(range, document.text[:document.used_text]) if !ok { @@ -245,7 +246,6 @@ document_apply_changes :: proc(uri_string: string, changes: [dynamic]TextDocumen copy(document.text[len(lower):], middle) } } else { - document.used_text = len(change.text) if document.used_text > len(document.text) { @@ -384,7 +384,7 @@ parse_document :: proc(document: ^Document, config: ^common.Config) -> ([]Parser context.allocator = common.scratch_allocator(document.allocator) pkg := new(ast.Package) - pkg.kind = .Normal + pkg.kind = .Normal pkg.fullpath = document.fullpath document.ast = ast.File { |