diff --git a/Classes/LinphoneAppDelegate.m b/Classes/LinphoneAppDelegate.m index 3b418cec7..4b5004e3b 100644 --- a/Classes/LinphoneAppDelegate.m +++ b/Classes/LinphoneAppDelegate.m @@ -170,7 +170,7 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { - + UIApplication* app= [UIApplication sharedApplication]; if( [app respondsToSelector:@selector(registerUserNotificationSettings:)] ){ @@ -225,15 +225,8 @@ [[LinphoneManager instance] startLibLinphone]; } if([LinphoneManager isLcReady]) { - - - // Only execute one time at application start - if(!started) { - started = TRUE; - [self.window makeKeyAndVisible]; - [RootViewManager setupWithPortrait:(PhoneMainView*)self.window.rootViewController]; - [[PhoneMainView instance] startUp]; - } + [self.window makeKeyAndVisible]; + [[PhoneMainView instance] startUp]; } } diff --git a/Classes/PhoneMainView.m b/Classes/PhoneMainView.m index d5b78c37e..49374cfbc 100644 --- a/Classes/PhoneMainView.m +++ b/Classes/PhoneMainView.m @@ -54,6 +54,11 @@ static RootViewManager* rootViewManagerInstance = nil; } + (RootViewManager *)instance { + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + PhoneMainView* portrait = (PhoneMainView*)[(LinphoneAppDelegate*)([UIApplication sharedApplication].delegate) window].rootViewController; + rootViewManagerInstance =[[RootViewManager alloc]initWithPortrait:portrait]; + }); if( !rootViewManagerInstance ){ @throw [NSException exceptionWithName:@"RootViewManager" reason:@"nil instance" userInfo:nil]; }