aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBibiko <bibiko@eva.mpg.de>2010-06-29 12:44:33 +0000
committerBibiko <bibiko@eva.mpg.de>2010-06-29 12:44:33 +0000
commit289a0c98b50b6da590b50a14969dfd986bab18c3 (patch)
tree588b6d7e3249223374400ef0baa8c33dd8c50cf2
parent92fbb6abcc89c946b1565de862b59af016651fdb (diff)
downloadsequelpro-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.m4
-rw-r--r--Source/SPAppController.m1
-rw-r--r--Source/SPHistoryController.m4
-rw-r--r--Source/SPWindowController.m4
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]));
}
/**