diff options
author | rowanbeentje <rowan@beent.je> | 2012-01-21 18:46:25 +0000 |
---|---|---|
committer | rowanbeentje <rowan@beent.je> | 2012-01-21 18:46:25 +0000 |
commit | fd3b64dfbbc445d52961784176eec8572f2c7880 (patch) | |
tree | b64ae30c76e48c682a68eeb430594b3b91585ee9 | |
parent | 19e97afe748dff842b11640b36a2bf4241e8a19f (diff) | |
download | sequelpro-fd3b64dfbbc445d52961784176eec8572f2c7880.tar.gz sequelpro-fd3b64dfbbc445d52961784176eec8572f2c7880.tar.bz2 sequelpro-fd3b64dfbbc445d52961784176eec8572f2c7880.zip |
- Make SPConnectionController a NSConnectionView subclass so that retain cycles caused by manually loading libs with bindings to File's Owner are automatically handled, fixing leaks of SPConnectionController and items it retain including any MCPConnection; this will fix issues with MCPConnections attempting to reconnect but no longer having an associated SPDatabaseDocument
-rw-r--r-- | Frameworks/MCPKit/MCPFoundationKit/MCPConnection.m | 2 | ||||
-rw-r--r-- | Source/SPConnectionController.h | 2 | ||||
-rw-r--r-- | Source/SPTablesList.m | 3 |
3 files changed, 2 insertions, 5 deletions
diff --git a/Frameworks/MCPKit/MCPFoundationKit/MCPConnection.m b/Frameworks/MCPKit/MCPFoundationKit/MCPConnection.m index 2c4f424d..04dcf50d 100644 --- a/Frameworks/MCPKit/MCPFoundationKit/MCPConnection.m +++ b/Frameworks/MCPKit/MCPFoundationKit/MCPConnection.m @@ -3255,7 +3255,7 @@ void pingThreadCleanup(void *pingDetails) delegate = nil; // Ensure the query lock is unlocked, thereafter setting to nil in case of pending calls - [self unlockConnection]; + if ([connectionLock condition] != MCPConnectionIdle) [self unlockConnection]; [connectionLock release], connectionLock = nil; // Clean up connections if necessary diff --git a/Source/SPConnectionController.h b/Source/SPConnectionController.h index 33a41d37..4ecff7e5 100644 --- a/Source/SPConnectionController.h +++ b/Source/SPConnectionController.h @@ -51,7 +51,7 @@ @end #endif -@interface SPConnectionController : NSObject +@interface SPConnectionController : NSViewController { id <SPConnectionControllerDelegateProtocol, NSObject> delegate; diff --git a/Source/SPTablesList.m b/Source/SPTablesList.m index 97055611..e68bf4f6 100644 --- a/Source/SPTablesList.m +++ b/Source/SPTablesList.m @@ -24,9 +24,6 @@ // More info at <http://code.google.com/p/sequel-pro/> #import "SPTablesList.h" -#ifndef SP_REFACTOR /* headers */ -#import "SPConnectionController.h" -#endif #import "SPDatabaseDocument.h" #import "SPTableStructure.h" #import "SPDatabaseViewController.h" |