[macruby-changes] [4926] MacRuby/trunk
source_changes at macosforge.org
source_changes at macosforge.org
Sun Nov 21 22:37:33 PST 2010
Revision: 4926
http://trac.macosforge.org/projects/ruby/changeset/4926
Author: lsansonetti at apple.com
Date: 2010-11-21 22:37:29 -0800 (Sun, 21 Nov 2010)
Log Message:
-----------
Xcode MacRuby apps will load the BridgeSupport files of frameworks linked into the product's executable by default
Modified Paths:
--------------
MacRuby/trunk/MacRuby.m
MacRuby/trunk/objc.h
MacRuby/trunk/objc.m
MacRuby/trunk/vm.cpp
Modified: MacRuby/trunk/MacRuby.m
===================================================================
--- MacRuby/trunk/MacRuby.m 2010-11-21 15:38:02 UTC (rev 4925)
+++ MacRuby/trunk/MacRuby.m 2010-11-22 06:37:29 UTC (rev 4926)
@@ -32,6 +32,7 @@
rb_vm_init_compiler();
rb_vm_init_jit();
rb_objc_fix_relocatable_load_path();
+ rb_objc_load_loaded_frameworks_bridgesupport();
}
}
return runtime;
Modified: MacRuby/trunk/objc.h
===================================================================
--- MacRuby/trunk/objc.h 2010-11-21 15:38:02 UTC (rev 4925)
+++ MacRuby/trunk/objc.h 2010-11-22 06:37:29 UTC (rev 4926)
@@ -254,6 +254,7 @@
bool rb_objc_isEqual(VALUE x, VALUE y);
void rb_objc_force_class_initialize(Class klass);
void rb_objc_fix_relocatable_load_path(void);
+void rb_objc_load_loaded_frameworks_bridgesupport(void);
extern bool rb_objc_enable_ivar_set_kvo_notifications;
Modified: MacRuby/trunk/objc.m
===================================================================
--- MacRuby/trunk/objc.m 2010-11-21 15:38:02 UTC (rev 4925)
+++ MacRuby/trunk/objc.m 2010-11-22 06:37:29 UTC (rev 4926)
@@ -687,6 +687,19 @@
}
void
+rb_objc_load_loaded_frameworks_bridgesupport(void)
+{
+#if !defined(MACRUBY_STATIC)
+ for (NSBundle *b in [NSBundle allFrameworks]) {
+ if ([b isLoaded]) {
+ NSString *path = [b bundlePath];
+ rb_objc_search_and_load_bridge_support([path fileSystemRepresentation]);
+ }
+ }
+#endif
+}
+
+void
rb_objc_willChangeValueForKey(id obj, NSString *key)
{
[obj willChangeValueForKey:key];
Modified: MacRuby/trunk/vm.cpp
===================================================================
--- MacRuby/trunk/vm.cpp 2010-11-21 15:38:02 UTC (rev 4925)
+++ MacRuby/trunk/vm.cpp 2010-11-22 06:37:29 UTC (rev 4926)
@@ -4996,6 +4996,7 @@
free(p1);
free(p2);
rb_objc_fix_relocatable_load_path();
+ rb_objc_load_loaded_frameworks_bridgesupport();
return ruby_run_node(tree);
}
catch (...) {
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20101121/39f8bc54/attachment.html>
More information about the macruby-changes
mailing list