Revision
2856
Author
eloy.de.enige@gmail.com
Date
2009-10-19 16:36:53 -0700 (Mon, 19 Oct 2009)

Log Message

When looking up a method in the ancestor chain skip removed methods.

Modified Paths

Diff

Modified: MacRuby/trunk/dispatcher.cpp (2855 => 2856)


--- MacRuby/trunk/dispatcher.cpp	2009-10-19 23:36:46 UTC (rev 2855)
+++ MacRuby/trunk/dispatcher.cpp	2009-10-19 23:36:53 UTC (rev 2856)
@@ -277,8 +277,9 @@
 		Method method = class_getInstanceMethod((Class)k, sel);
 		VALUE super = RCLASS_SUPER(k);
 
-		if (method == NULL || (super != 0
-		    && class_getInstanceMethod((Class)super, sel) == method)) {
+		if (method == NULL || REMOVED_IMP(method_getImplementation(method))
+		    || (super != 0
+		        && class_getInstanceMethod((Class)super, sel) == method)) {
 		    continue;
 		}