Revision: 4400 http://trac.macosforge.org/projects/ruby/changeset/4400 Author: lsansonetti@apple.com Date: 2010-08-02 19:57:21 -0700 (Mon, 02 Aug 2010) Log Message: ----------- fixed a bug in Method#== where it wouldn't work on pure objc methods Modified Paths: -------------- MacRuby/trunk/proc.c Modified: MacRuby/trunk/proc.c =================================================================== --- MacRuby/trunk/proc.c 2010-08-03 01:09:29 UTC (rev 4399) +++ MacRuby/trunk/proc.c 2010-08-03 02:57:21 UTC (rev 4400) @@ -720,11 +720,20 @@ if (m1->oclass != m2->oclass || m1->rclass != m2->rclass - || m1->recv != m2->recv - || m1->node->objc_imp != m2->node->objc_imp) { + || m1->recv != m2->recv) { return Qfalse; } + IMP m1_imp = m1->node == NULL + ? class_getMethodImplementation((Class)m1->oclass, m1->sel) + : m1->node->objc_imp; + IMP m2_imp = m2->node == NULL + ? class_getMethodImplementation((Class)m2->oclass, m2->sel) + : m2->node->objc_imp; + if (m1_imp != m2_imp) { + return Qfalse; + } + return Qtrue; }