[macruby-changes] [4400] MacRuby/trunk/proc.c

source_changes at macosforge.org source_changes at macosforge.org
Mon Aug 2 19:57:22 PDT 2010


Revision: 4400
          http://trac.macosforge.org/projects/ruby/changeset/4400
Author:   lsansonetti at 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;
 }
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20100802/ffb4bedd/attachment-0001.html>


More information about the macruby-changes mailing list