- collect (gvalue-get (sap+ param-values (* n +gvalue-size+))))))
- (let ((result (apply #'invoke-callback callback-id return-type args)))
- (when return-type
- (gvalue-set return-value result)))))
+ for offset from 0 by +gvalue-size+
+ collect (gvalue-get (sap+ param-values offset) t))))
+ (unwind-protect
+ (let ((result (apply #'invoke-callback callback-id return-type args)))
+ (when return-type
+ (gvalue-set return-value result)))
+ (loop
+ for arg in args
+ when (typep arg 'proxy)
+ do (invalidate-instance arg)))))
+