ffi/com: fix another instance of the `cast' bug

Overlooked it during the previous repair; this repair merges
the two formerly broken sites.
(cherry picked from commit 94498465e6)
This commit is contained in:
Matthew Flatt 2012-07-19 20:20:33 -05:00 committed by Ryan Culpepper
parent f04778f4d5
commit 5dc7368612

View File

@ -1535,7 +1535,7 @@
(define (make-a-VARIANT [mode 'atomic-interior]) (define (make-a-VARIANT [mode 'atomic-interior])
(define var (cast (malloc _VARIANT mode) (define var (cast (malloc _VARIANT mode)
_pointer _pointer
_VARIANT-pointer)) (_gcable _VARIANT-pointer)))
(VariantInit var) (VariantInit var)
var) var)
@ -1779,9 +1779,7 @@
(define method-result (define method-result
(if (= inv-kind INVOKE_PROPERTYPUT) (if (= inv-kind INVOKE_PROPERTYPUT)
#f #f
(cast (malloc 'atomic _VARIANT) _pointer (_gcable _VARIANT-pointer)))) (make-a-VARIANT 'atomic)))
(when method-result
(VariantInit method-result))
(define-values (hr exn-info error-index) (define-values (hr exn-info error-index)
(Invoke (com-object-get-dispatch obj) (Invoke (com-object-get-dispatch obj)
memid IID_NULL LOCALE_SYSTEM_DEFAULT memid IID_NULL LOCALE_SYSTEM_DEFAULT