+ CFDictionarySetValue((CFMutableDictionaryRef)infoDict, CFSTR("CFPlugInNeedsDynamicRegistration"), CFSTR("YES"));
+ if (CFBundleIsExecutableLoaded(bundle)) _CFBundlePlugInLoaded(bundle);
+ }
+}
+
+__private_extern__ void _CFBundlePlugInLoaded(CFBundleRef bundle) {
+ CFDictionaryRef infoDict = CFBundleGetInfoDictionary(bundle);
+ CFStringRef tempStr;
+ CFPlugInDynamicRegisterFunction func = NULL;
+
+ if (!__CFBundleGetPlugInData(bundle)->_isPlugIn || __CFBundleGetPlugInData(bundle)->_isDoingDynamicRegistration || !infoDict || !CFBundleIsExecutableLoaded(bundle)) return;
+
+ tempStr = CFDictionaryGetValue(infoDict, CFSTR("CFPlugInNeedsDynamicRegistration"));
+ if (tempStr != NULL && CFGetTypeID(tempStr) == CFStringGetTypeID() && CFStringCompare(tempStr, CFSTR("YES"), kCFCompareCaseInsensitive) == kCFCompareEqualTo) {
+ CFDictionaryRemoveValue((CFMutableDictionaryRef)infoDict, CFSTR("CFPlugInNeedsDynamicRegistration"));