]> git.saurik.com Git - cydia.git/commitdiff
On 2.x we cannot use unselectedViewController.
authorJay Freeman (saurik) <saurik@saurik.com>
Mon, 21 Mar 2011 04:24:02 +0000 (21:24 -0700)
committerJay Freeman (saurik) <saurik@saurik.com>
Mon, 21 Mar 2011 04:24:02 +0000 (21:24 -0700)
MobileCydia.mm

index 2b16ee261bc4891022eccf799799f0aa736f4fef..4b9aef3acab3821467c569c11d3775e8d86e4bc5 100644 (file)
@@ -6751,6 +6751,17 @@ bool DepSubstrate(const pkgCache::VerIterator &iterator) {
 @implementation CYTabBarController
 
 - (void) setUnselectedViewController:(UIViewController *)transient {
+    if (kCFCoreFoundationVersionNumber < kCFCoreFoundationVersionNumber_iPhoneOS_3_0) {
+        if (transient != nil) {
+            [[[self viewControllers] objectAtIndex:0] pushViewController:transient animated:YES];
+            [self setSelectedIndex:0];
+        } return;
+    }
+
+    UINavigationController *navigation([[[UINavigationController alloc] init] autorelease]);
+    [navigation setViewControllers:[NSArray arrayWithObject:transient]];
+    transient = navigation;
+
     NSMutableArray *controllers = [[self viewControllers] mutableCopy];
     if (transient != nil) {
         if (transient_ == nil)
@@ -9590,11 +9601,8 @@ bool DepSubstrate(const pkgCache::VerIterator &iterator) {
 - (BOOL) openCydiaURL:(NSURL *)url forExternal:(BOOL)external {
     CyteViewController *page([self pageForURL:url forExternal:external]);
 
-    if (page != nil) {
-        UINavigationController *nav = [[[UINavigationController alloc] init] autorelease];
-        [nav setViewControllers:[NSArray arrayWithObject:page]];
-        [tabbar_ setUnselectedViewController:nav];
-    }
+    if (page != nil)
+        [tabbar_ setUnselectedViewController:page];
 
     return page != nil;
 }