@@ -25,7 +25,11 @@ NAN_METHOD({{ cppClassName }}::{{ cppFunctionName }}) {
2525 {%elsif arg.isCallbackFunction %}
2626 if (!args[{{ arg.jsArg }}]->IsFunction ()) {
2727 baton->{{ arg.name }} = NULL ;
28+ {%if arg.payload .globalPayload %}
29+ globalPayload->{{ arg.name }} = NULL ;
30+ {%else %}
2831 baton->{{ arg.payload .name }} = NULL ;
32+ {%endif%}
2933 }
3034 else {
3135 baton->{{ arg.name }} = {{ cppFunctionName }}_{{ arg.name }}_cppCallback;
@@ -150,12 +154,7 @@ void {{ cppClassName }}::{{ cppFunctionName }}Worker::HandleOKCallback() {
150154 delete baton->{{ arg.payload .name }};
151155 {%endif%}
152156 {%elsif arg.globalPayload %}
153- {%each args|argsInfo as cbArg %}
154- {%if cbArg.isCallbackFunction %}
155- delete (({{ cppFunctionName}}_globalPayload*)baton->{{ arg.name }})->{{ cbArg.name }};
156- {%endif%}
157- {%endeach%}
158- free ((void *)baton->{{ arg.name }});
157+ delete ({{ cppFunctionName}}_globalPayload*)baton->{{ arg.name }};
159158 {%else %}
160159 free ((void *)baton->{{ arg.name }});
161160 {%endif%}
@@ -180,22 +179,11 @@ void {{ cppClassName }}::{{ cppFunctionName }}Worker::HandleOKCallback() {
180179 free ((void *)baton->{{ arg.name }});
181180 }
182181 {%elsif arg.isCallbackFunction %}
183- {%if arg.payload .globalPayload %}
184- {%each args|argsInfo as cbArg %}
185- {%if cbArg.isCallbackFunction %}
186- delete (({{ cppFunctionName }}_globalPayload*)baton->{{ arg.name }})->{{ cbArg.name }};
187- {%endif%}
188- {%endeach%}
189- {%else %}
190- delete (NanCallback *)baton->{{ arg.payload .name }};
182+ {%if not arg.payload .globalPayload %}
183+ delete baton->{{ arg.payload .name }};
191184 {%endif%}
192185 {%elsif arg.globalPayload %}
193- {%each args|argsInfo as cbArg %}
194- {%if cbArg.isCallbackFunction %}
195- delete (({{ cppFunctionName}}_globalPayload*)baton->{{ arg.name }})->{{ cbArg.name }};
196- {%endif%}
197- {%endeach%}
198- free ((void *)baton->{{ arg.name }});
186+ delete ({{ cppFunctionName}}_globalPayload*)baton->{{ arg.name }};
199187 {%endif%}
200188 {%endeach%}
201189
0 commit comments