Skip to content

Commit b5b379b

Browse files
committed
Merge pull request nodegit#424 from nodegit/tighten-up-callbacks
Fix seg faults
2 parents 89a10df + 5cfa0b9 commit b5b379b

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

generate/templates/partials/field_accessors.cc

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,12 @@
3838
}
3939

4040
{% elsif field.isLibgitType %}
41+
Handle<Object> {{ field.name }}(value->ToObject());
4142
NanDisposePersistent(wrapper->{{ field.name }});
42-
wrapper->raw->{{ field.name }} = {% if not field.cType | isPointer %}*{% endif %}ObjectWrap::Unwrap<{{ field.cppClassName }}>(value->ToObject())->GetValue();
43+
44+
NanAssignPersistent(wrapper->{{ field.name }}, {{ field.name }});
45+
46+
wrapper->raw->{{ field.name }} = {% if not field.cType | isPointer %}*{% endif %}ObjectWrap::Unwrap<{{ field.cppClassName }}>({{ field.name }}->ToObject())->GetValue();
4347

4448
{% elsif field.isCallbackFunction %}
4549
if (wrapper->{{ field.name }} != NULL) {

test/tests/status.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,8 @@ describe("Status", function() {
1414

1515
var reposPath = local("../repos/workdir/.git");
1616

17-
beforeEach(function() {
17+
before(function() {
1818
var test = this;
19-
delete test.repository;
2019
return Repository.open(reposPath)
2120
.then(function(repository) {
2221
test.repository = repository;

0 commit comments

Comments
 (0)