From 3877c4785782c932d373767b370dd84daba72dce Mon Sep 17 00:00:00 2001 From: John Haley Date: Tue, 24 Feb 2015 15:23:43 -0700 Subject: [PATCH 1/2] Make callbacks on structs persist --- generate/templates/partials/field_accessors.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/generate/templates/partials/field_accessors.cc b/generate/templates/partials/field_accessors.cc index dcd83937e..8b2a543cd 100644 --- a/generate/templates/partials/field_accessors.cc +++ b/generate/templates/partials/field_accessors.cc @@ -38,8 +38,12 @@ } {% elsif field.isLibgitType %} + Handle {{ field.name }}(value->ToObject()); NanDisposePersistent(wrapper->{{ field.name }}); - wrapper->raw->{{ field.name }} = {% if not field.cType | isPointer %}*{% endif %}ObjectWrap::Unwrap<{{ field.cppClassName }}>(value->ToObject())->GetValue(); + + NanAssignPersistent(wrapper->{{ field.name }}, {{ field.name }}); + + wrapper->raw->{{ field.name }} = {% if not field.cType | isPointer %}*{% endif %}ObjectWrap::Unwrap<{{ field.cppClassName }}>({{ field.name }}->ToObject())->GetValue(); {% elsif field.isCallbackFunction %} if (wrapper->{{ field.name }} != NULL) { From 5cfa0b90ce3b3cb211363814adeef26e352a0716 Mon Sep 17 00:00:00 2001 From: John Haley Date: Tue, 24 Feb 2015 16:12:48 -0700 Subject: [PATCH 2/2] Stop reinitializing repo for each status test --- test/tests/status.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/test/tests/status.js b/test/tests/status.js index 73896e180..365b533b7 100644 --- a/test/tests/status.js +++ b/test/tests/status.js @@ -14,9 +14,8 @@ describe("Status", function() { var reposPath = local("../repos/workdir/.git"); - beforeEach(function() { + before(function() { var test = this; - delete test.repository; return Repository.open(reposPath) .then(function(repository) { test.repository = repository;