fix buggy use of forwarding caallback

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/libobjc/trunk@31290 72102866-910b-0410-8b05-ffd578937521
main
rfm 16 years ago
parent 340c8a5954
commit ab33a83d54

@ -1,3 +1,10 @@
2010-09-10 Richard Frith-Macdonald <rfm@gnu.org>
* sendmsg.c: (get_imp) ... fix call to __objc_get_forward_imp to
pass nil as the receiver since we don't know the receiver at this
point. Passing the class is often wrong and can result in us calling
a class method when we want an instance method of the same name.
2010-05-12 Adam Fedor <fedor@gnu.org> 2010-05-12 Adam Fedor <fedor@gnu.org>
* Version 1.7.0 Snapshot release * Version 1.7.0 Snapshot release

@ -178,8 +178,11 @@ get_imp (Class class, SEL sel)
/* The dispatch table has been installed, and the method /* The dispatch table has been installed, and the method
is not in the dispatch table. So the method just is not in the dispatch table. So the method just
doesn't exist for the class. Return the forwarding doesn't exist for the class. Return the forwarding
implementation. */ implementation.
res = __objc_get_forward_imp ((id)class, sel); We don't know the receiver (only it's class), so we
can't pass that to the function :-(
*/
res = __objc_get_forward_imp (nil, sel);
} }
} }
} }

Loading…
Cancel
Save