From b0195c5305a4fc3db4ffaa113ce4d246bd4dec66 Mon Sep 17 00:00:00 2001 From: stuconnolly Date: Fri, 23 Apr 2010 13:49:12 +0000 Subject: Only attempt to check or set the max allowed packet if there is an active connection as well as only displaying dialogs when there is a window visible. Fixes http://spbug.com/l/113. --- Frameworks/MCPKit/MCPFoundationKit/MCPConnection.m | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) (limited to 'Frameworks/MCPKit/MCPFoundationKit') diff --git a/Frameworks/MCPKit/MCPFoundationKit/MCPConnection.m b/Frameworks/MCPKit/MCPFoundationKit/MCPConnection.m index a94584ee..4b5ac737 100644 --- a/Frameworks/MCPKit/MCPFoundationKit/MCPConnection.m +++ b/Frameworks/MCPKit/MCPFoundationKit/MCPConnection.m @@ -388,16 +388,23 @@ static BOOL sTruncateLongFieldInLogs = YES; connectionThreadId = mConnection->thread_id; [self timeZone]; // Getting the timezone used by the server. - isMaxAllowedPacketEditable = [self isMaxAllowedPacketEditable]; - - if (![self fetchMaxAllowedPacket]) { - [self setLastErrorMessage:nil]; + // Only attempt to set the max allowed packet if we have a connection + if (mConnection != NULL) { - lastQueryErrorId = mysql_errno(mConnection); + isMaxAllowedPacketEditable = [self isMaxAllowedPacketEditable]; - return mConnected = NO; + if (![self fetchMaxAllowedPacket]) { + [self setLastErrorMessage:nil]; + + lastQueryErrorId = mysql_errno(mConnection); + + mConnected = NO; + } + } + else { + mConnected = NO; + isMaxAllowedPacketEditable = NO; } - return mConnected; } -- cgit v1.2.3