- // consumes vatm reference:
- act = _voucher_activity_create_with_atm(vatm, va_id, trace_id, location,
- NULL);
- vat = (_voucher_activity_tracepoint_t)act;
+ if (activities == 1) {
+ // consumes vatm reference:
+ act = _voucher_activity_create_with_atm(_voucher_atm_retain(vatm),
+ va_id, trace_id, location, NULL);
+ vat = (_voucher_activity_tracepoint_t)act;
+ } else if (ov && ov->v_activity) {
+ act = _voucher_activity_retain(ov->v_activity);
+ }