diff options
author | 2013-08-07 21:00:37 -0700 | |
---|---|---|
committer | 2013-08-07 21:00:37 -0700 | |
commit | d5ed180d3615e668a59d098156189616b596a67a (patch) | |
tree | 14dd62a645df3cf443e46645709964eefebe67a6 | |
parent | 3ac436790d708a31cdf514554424ee4bbd55d655 (diff) | |
parent | 9c98ecae2bf5ce00c0ffdc68a41cc05f1c5e7eea (diff) |
Merge pull request #281 from CodaFi/Fix-Providers-Crash
Fix #280: Fixed crash related to providers.
-rw-r--r-- | src/objc/provider/MCOMailProvidersManager.mm | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/src/objc/provider/MCOMailProvidersManager.mm b/src/objc/provider/MCOMailProvidersManager.mm index 8f12aa11..b1585166 100644 --- a/src/objc/provider/MCOMailProvidersManager.mm +++ b/src/objc/provider/MCOMailProvidersManager.mm @@ -18,12 +18,12 @@ + (MCOMailProvidersManager *) sharedManager { - static MCOMailProvidersManager * sharedInstance = nil; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - sharedInstance = [[self alloc] init]; \ - }); - return sharedInstance; + static MCOMailProvidersManager * sharedInstance = nil; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + sharedInstance = [[self alloc] init]; \ + }); + return sharedInstance; } - (id) init @@ -32,27 +32,29 @@ self = [super init]; - filename = [[NSBundle bundleForClass:[self class]] pathForResource:@"providers" ofType:@"json"]; - mailcore::MailProvidersManager::sharedManager()->registerProvidersWithFilename(filename.mco_mcString); - + filename = [[NSBundle bundleForClass:[self class]] pathForResource:@"providers" ofType:@"json"]; + if (filename) { + mailcore::MailProvidersManager::sharedManager()->registerProvidersWithFilename(filename.mco_mcString); + } + return self; } - (MCOMailProvider *) providerForEmail:(NSString *)email { - mailcore::MailProvider *provider = mailcore::MailProvidersManager::sharedManager()->providerForEmail(email.mco_mcString); + mailcore::MailProvider *provider = mailcore::MailProvidersManager::sharedManager()->providerForEmail(email.mco_mcString); return MCO_TO_OBJC(provider); } - (MCOMailProvider *) providerForMX:(NSString *)hostname { - mailcore::MailProvider *provider = mailcore::MailProvidersManager::sharedManager()->providerForMX(hostname.mco_mcString); + mailcore::MailProvider *provider = mailcore::MailProvidersManager::sharedManager()->providerForMX(hostname.mco_mcString); return MCO_TO_OBJC(provider); } - (MCOMailProvider *) providerForIdentifier:(NSString *)identifier { - mailcore::MailProvider *provider = mailcore::MailProvidersManager::sharedManager()->providerForIdentifier(identifier.mco_mcString); + mailcore::MailProvider *provider = mailcore::MailProvidersManager::sharedManager()->providerForIdentifier(identifier.mco_mcString); return MCO_TO_OBJC(provider); } |