diff options
-rw-r--r-- | Source/SPDatabaseDocument.m | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/Source/SPDatabaseDocument.m b/Source/SPDatabaseDocument.m index bc1acb22..6fa097c1 100644 --- a/Source/SPDatabaseDocument.m +++ b/Source/SPDatabaseDocument.m @@ -4468,6 +4468,7 @@ static int64_t SPDatabaseDocumentInstanceCounter = 0; { // Coax the main split view into actually checking its constraints [contentViewSplitter setPosition:[[[contentViewSplitter subviews] objectAtIndex:0] bounds].size.width ofDividerAtIndex:0]; + // If the task interface is visible, and this tab is frontmost, re-center the task child window if (_isWorkingLevel && [parentWindowController selectedTableDocument] == self) [self centerTaskWindow]; } @@ -4476,17 +4477,19 @@ static int64_t SPDatabaseDocumentInstanceCounter = 0; /** * Set the parent window */ -- (void)setParentWindow:(NSWindow *)aWindow +- (void)setParentWindow:(NSWindow *)window { -#ifndef SP_CODA + NSWindow *outlineViewWindow = [(NSView *)[connectionController favoritesOutlineView] window]; + // If the window is being set for the first time - connection controller is visible - update focus - if (!parentWindow && !mySQLConnection) { - [aWindow makeFirstResponder:(NSResponder *)[connectionController favoritesOutlineView]]; + if (!parentWindow && !mySQLConnection && window == outlineViewWindow) { + [window makeFirstResponder:(NSResponder *)[connectionController favoritesOutlineView]]; } -#endif - parentWindow = aWindow; + parentWindow = window; + SPSSHTunnel *currentTunnel = [connectionController valueForKeyPath:@"sshTunnel"]; + if (currentTunnel) [currentTunnel setParentWindow:parentWindow]; } |