diff options
author | Bibiko <bibiko@eva.mpg.de> | 2010-06-29 12:44:33 +0000 |
---|---|---|
committer | Bibiko <bibiko@eva.mpg.de> | 2010-06-29 12:44:33 +0000 |
commit | 289a0c98b50b6da590b50a14969dfd986bab18c3 (patch) | |
tree | 588b6d7e3249223374400ef0baa8c33dd8c50cf2 | |
parent | 92fbb6abcc89c946b1565de862b59af016651fdb (diff) | |
download | sequelpro-289a0c98b50b6da590b50a14969dfd986bab18c3.tar.gz sequelpro-289a0c98b50b6da590b50a14969dfd986bab18c3.tar.bz2 sequelpro-289a0c98b50b6da590b50a14969dfd986bab18c3.zip |
• made SP more robust against fast closing of tabs and windows
• setHideForSingleTab:YES after opening spfs session
-rw-r--r-- | Frameworks/PSMTabBar/PSMTabBarControl.m | 4 | ||||
-rw-r--r-- | Source/SPAppController.m | 1 | ||||
-rw-r--r-- | Source/SPHistoryController.m | 4 | ||||
-rw-r--r-- | Source/SPWindowController.m | 4 |
4 files changed, 8 insertions, 5 deletions
diff --git a/Frameworks/PSMTabBar/PSMTabBarControl.m b/Frameworks/PSMTabBar/PSMTabBarControl.m index 1023444d..d361364e 100644 --- a/Frameworks/PSMTabBar/PSMTabBarControl.m +++ b/Frameworks/PSMTabBar/PSMTabBarControl.m @@ -942,14 +942,14 @@ //send the delegate messages if (_isHidden) { - if ([[self delegate] respondsToSelector:@selector(tabView:tabBarDidHide:)]) { + if ([self delegate] && [[self delegate] respondsToSelector:@selector(tabView:tabBarDidHide:)]) { [[self delegate] tabView:[self tabView] tabBarDidHide:self]; } } else { [self addSubview:_overflowPopUpButton]; [self addSubview:_addTabButton]; - if ([[self delegate] respondsToSelector:@selector(tabView:tabBarDidUnhide:)]) { + if ([self delegate] && [[self delegate] respondsToSelector:@selector(tabView:tabBarDidUnhide:)]) { [[self delegate] tabView:[self tabView] tabBarDidUnhide:self]; } } diff --git a/Source/SPAppController.m b/Source/SPAppController.m index 85ad93a2..8635fb29 100644 --- a/Source/SPAppController.m +++ b/Source/SPAppController.m @@ -395,6 +395,7 @@ } [newWindowController selectTabAtIndex:[[window objectForKey:@"selectedTabIndex"] intValue]]; + [newWindowController setHideForSingleTab:YES]; } diff --git a/Source/SPHistoryController.m b/Source/SPHistoryController.m index 9e7f20da..8478c6b4 100644 --- a/Source/SPHistoryController.m +++ b/Source/SPHistoryController.m @@ -93,6 +93,8 @@ if ([history count] && historyPosition > 0) backEnabled = YES; if ([history count] && historyPosition + 1 < [history count]) forwardEnabled = YES; + if(!historyControl) return; + [historyControl setEnabled:backEnabled forSegment:0]; [historyControl setEnabled:forwardEnabled forSegment:1]; @@ -229,7 +231,7 @@ - (void) toolbarWillAddItem:(NSNotification *)aNotification { if ([[[[aNotification userInfo] objectForKey:@"item"] itemIdentifier] isEqualToString:SPMainToolbarHistoryNavigation]) { toolbarItemVisible = YES; - [self performSelector:@selector(updateToolbarItem) withObject:nil afterDelay:0.1]; + [self performSelectorOnMainThread:@selector(updateToolbarItem) withObject:nil waitUntilDone:YES]; } } diff --git a/Source/SPWindowController.m b/Source/SPWindowController.m index 5f8e34cd..0cfe9e8e 100644 --- a/Source/SPWindowController.m +++ b/Source/SPWindowController.m @@ -654,8 +654,8 @@ * or the selected table document supports the selector. */ - (BOOL) respondsToSelector:(SEL)theSelector -{ - return ([super respondsToSelector:theSelector] || [selectedTableDocument respondsToSelector:theSelector]); +{ + return ([super respondsToSelector:theSelector] || (selectedTableDocument && [selectedTableDocument respondsToSelector:theSelector])); } /** |