- (let ((n (length spans)))
- (with-stable-pointer (ptr fn)
- (with-foreign-object (spans-ptr 'span-cstruct n)
- (let ((i 0))
- (map nil
- (lambda (span)
- (gobject::copy-slots-to-native
- span
- (inc-pointer spans-ptr (* i (foreign-type-size 'span-cstruct)))
- (gobject::g-boxed-cstruct-wrapper-info-cstruct-description (gobject::get-g-boxed-foreign-info 'span)))
- (incf i))
- spans))
- (gdk-region-spans-intersect-foreach region spans-ptr n sorted (callback gdk-region-spans-intersect-foreach) ptr)))))
+ (with-stable-pointer (ptr fn)
+ (with-foreign-boxed-array (n spans-ptr span spans)
+ (gdk-region-spans-intersect-foreach region spans-ptr n sorted (callback gdk-region-spans-intersect-foreach) ptr))))