summaryrefslogtreecommitdiff
path: root/Lisp/method-invocation.lisp
diff options
context:
space:
mode:
authorMatthias Benkard <code@mail.matthias.benkard.de>2008-02-05 19:57:38 +0100
committerMatthias Benkard <code@mail.matthias.benkard.de>2008-02-05 19:57:38 +0100
commit170159290c0c46685353cd3a54a968f203ddb795 (patch)
tree4e44eb14b7c72a2b4fc253f701eed2a70e93daa6 /Lisp/method-invocation.lisp
parente63b283318018aaa017ac98e7c501b3fd29387e8 (diff)
Wrap objects returned by Objective-C code with the appropriate classes instead of ID.
darcs-hash:5e7987f5da1a4d692e6e60c45c34aa80f9c4236d
Diffstat (limited to 'Lisp/method-invocation.lisp')
-rw-r--r--Lisp/method-invocation.lisp4
1 files changed, 3 insertions, 1 deletions
diff --git a/Lisp/method-invocation.lisp b/Lisp/method-invocation.lisp
index a0a426b..08e0dac 100644
--- a/Lisp/method-invocation.lisp
+++ b/Lisp/method-invocation.lisp
@@ -285,7 +285,9 @@ easier to use with __apply__.
(* ,num +pessimistic-allocation-size+))))
(flet ((ad-hoc-arglist->objc-arglist! (args)
(setf (argref '(:pointer :void) 0)
- (pointer-to receiver)
+ (if (pointerp receiver)
+ receiver
+ (pointer-to receiver))
(argref '(:pointer :void) 1)
(pointer-to selector))
(loop for arg in args