diff options
author | Matthias Benkard <code@mail.matthias.benkard.de> | 2008-02-05 19:57:38 +0100 |
---|---|---|
committer | Matthias Benkard <code@mail.matthias.benkard.de> | 2008-02-05 19:57:38 +0100 |
commit | 170159290c0c46685353cd3a54a968f203ddb795 (patch) | |
tree | 4e44eb14b7c72a2b4fc253f701eed2a70e93daa6 /Lisp/method-invocation.lisp | |
parent | e63b283318018aaa017ac98e7c501b3fd29387e8 (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.lisp | 4 |
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 |