From 5dc7368612b8af7daeed88477f2a8590f48ca148 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Thu, 19 Jul 2012 20:20:33 -0500 Subject: [PATCH] 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 94498465e614586ae9d53b79467abc0854619da2) --- collects/ffi/unsafe/com.rkt | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/collects/ffi/unsafe/com.rkt b/collects/ffi/unsafe/com.rkt index ed9eec278f..95911fb53e 100644 --- a/collects/ffi/unsafe/com.rkt +++ b/collects/ffi/unsafe/com.rkt @@ -1535,7 +1535,7 @@ (define (make-a-VARIANT [mode 'atomic-interior]) (define var (cast (malloc _VARIANT mode) _pointer - _VARIANT-pointer)) + (_gcable _VARIANT-pointer))) (VariantInit var) var) @@ -1779,9 +1779,7 @@ (define method-result (if (= inv-kind INVOKE_PROPERTYPUT) #f - (cast (malloc 'atomic _VARIANT) _pointer (_gcable _VARIANT-pointer)))) - (when method-result - (VariantInit method-result)) + (make-a-VARIANT 'atomic))) (define-values (hr exn-info error-index) (Invoke (com-object-get-dispatch obj) memid IID_NULL LOCALE_SYSTEM_DEFAULT