Skip to content

Commit f18a33b

Browse files
committed
text-buffer-wrapper
1 parent 0698755 commit f18a33b

File tree

1 file changed

+1
-10
lines changed

1 file changed

+1
-10
lines changed

src/bindings/text-buffer-wrapper.cc

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -425,7 +425,6 @@ class TextBufferSearcher : public Nan::AsyncWorker {
425425
}
426426

427427
void HandleOKCallback() {
428-
delete snapshot;
429428
Local<Value> argv[] = {Nan::Null(), encode_ranges(matches)};
430429
callback->Call(2, argv, async_resource);
431430
}
@@ -586,7 +585,6 @@ void TextBufferWrapper::find_words_with_subsequence_in_range(const Nan::Function
586585
void CancelIfQueued() {
587586
int lock_status = uv_rwlock_trywrlock(&snapshot_lock);
588587
if (lock_status == 0) {
589-
delete snapshot;
590588
snapshot = nullptr;
591589
uv_rwlock_wrunlock(&snapshot_lock);
592590
}
@@ -599,7 +597,6 @@ void TextBufferWrapper::find_words_with_subsequence_in_range(const Nan::Function
599597
return;
600598
}
601599

602-
delete snapshot;
603600
auto text_buffer_wrapper = Nan::ObjectWrap::Unwrap<TextBufferWrapper>(Nan::New(buffer));
604601
text_buffer_wrapper->outstanding_workers.erase(this);
605602

@@ -730,7 +727,7 @@ class Loader {
730727
Nan::Callback *progress_callback;
731728
Nan::AsyncResource *async_resource;
732729
TextBuffer *buffer;
733-
TextBuffer::Snapshot *snapshot;
730+
std::shared_ptr<TextBuffer::Snapshot> snapshot;
734731
string file_name;
735732
string encoding_name;
736733
optional<Text> loaded_text;
@@ -778,17 +775,14 @@ class Loader {
778775

779776
pair<Local<Value>, Local<Value>> Finish(Nan::AsyncResource* caller_async_resource = nullptr) {
780777
if (error) {
781-
delete snapshot;
782778
return {error_to_js(*error, encoding_name, file_name), Nan::Undefined()};
783779
}
784780

785781
if (cancelled || (!force && buffer->is_modified())) {
786-
delete snapshot;
787782
return {Nan::Null(), Nan::Null()};
788783
}
789784

790785
Patch inverted_changes = buffer->get_inverted_changes(snapshot);
791-
delete snapshot;
792786

793787
if (compute_patch && inverted_changes.get_change_count() > 0) {
794788
inverted_changes.combine(patch);
@@ -1004,7 +998,6 @@ class BaseTextComparisonWorker : public Nan::AsyncWorker {
1004998
}
1005999

10061000
void HandleOKCallback() {
1007-
delete snapshot;
10081001
if (error) {
10091002
Local<Value> argv[] = {error_to_js(*error, encoding_name, file_name)};
10101003
callback->Call(1, argv, async_resource);
@@ -1090,11 +1083,9 @@ class SaveWorker : public Nan::AsyncWorker {
10901083

10911084
Local<Value> Finish() {
10921085
if (error) {
1093-
delete snapshot;
10941086
return error_to_js(*error, encoding_name, file_name);
10951087
} else {
10961088
snapshot->flush_preceding_changes();
1097-
delete snapshot;
10981089
return Nan::Null();
10991090
}
11001091
}

0 commit comments

Comments
 (0)