--- MacRuby/trunk/vm.cpp 2010-08-25 23:45:27 UTC (rev 4467)
+++ MacRuby/trunk/vm.cpp 2010-08-26 20:43:06 UTC (rev 4468)
@@ -5019,8 +5019,10 @@
return false;
}
void *init_func = iter->second;
- ((void *(*)(void *, void *))init_func)((void *)rb_vm_top_self(), NULL);
- aot_features.erase(iter);
+ if (init_func != NULL) {
+ ((void *(*)(void *, void *))init_func)((void *)rb_vm_top_self(), NULL);
+ iter->second = NULL;
+ }
return true;
}