[macruby-changes] [1548] MacRuby/branches/experimental
source_changes at macosforge.org
source_changes at macosforge.org
Wed May 6 17:40:59 PDT 2009
Revision: 1548
http://trac.macosforge.org/projects/ruby/changeset/1548
Author: lsansonetti at apple.com
Date: 2009-05-06 17:40:58 -0700 (Wed, 06 May 2009)
Log Message:
-----------
disable the _cfindexOfObject:range: fix if > 10.5
Modified Paths:
--------------
MacRuby/branches/experimental/array.c
MacRuby/branches/experimental/objc.h
Modified: MacRuby/branches/experimental/array.c
===================================================================
--- MacRuby/branches/experimental/array.c 2009-05-07 00:40:29 UTC (rev 1547)
+++ MacRuby/branches/experimental/array.c 2009-05-07 00:40:58 UTC (rev 1548)
@@ -3487,6 +3487,7 @@
RESTORE_RCV(rcv);
}
+#if MAC_OS_X_VERSION_MAX_ALLOWED < 1060
static CFIndex
imp_rb_array_cfindexOfObjectInRange(void *rcv, SEL sel, void *obj,
CFRange range)
@@ -3497,6 +3498,7 @@
RESTORE_RCV(rcv);
return i;
}
+#endif
void
rb_objc_install_array_primitives(Class klass)
@@ -3511,6 +3513,7 @@
(IMP)imp_rb_array_replaceObjectsInRangeWithObjectsCount);
rb_objc_install_method2(klass, "addObject:", (IMP)imp_rb_array_addObject);
+#if MAC_OS_X_VERSION_MAX_ALLOWED < 1060
/* This is to work around a bug where CF will try to call an non-existing
* method.
*/
@@ -3520,7 +3523,8 @@
sel_registerName("_cfindexOfObject:range:"));
class_addMethod(klass, sel_registerName("_cfindexOfObject:inRange:"),
method_getImplementation(m), method_getTypeEncoding(m));
-
+#endif
+
rb_define_alloc_func((VALUE)klass, ary_alloc);
}
Modified: MacRuby/branches/experimental/objc.h
===================================================================
--- MacRuby/branches/experimental/objc.h 2009-05-07 00:40:29 UTC (rev 1547)
+++ MacRuby/branches/experimental/objc.h 2009-05-07 00:40:58 UTC (rev 1548)
@@ -32,6 +32,10 @@
Method method, method2;
method = class_getInstanceMethod(klass, sel);
+ if (method == NULL) {
+ printf("method %s not found on class %p - aborting\n", sel_getName(sel), klass);
+ abort();
+ }
assert(method != NULL);
method2 = class_getInstanceMethod((Class)RCLASS_SUPER(klass), sel);
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20090506/993361bd/attachment.html>
More information about the macruby-changes
mailing list