aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrowanbeentje <rowan@beent.je>2012-01-21 18:46:25 +0000
committerrowanbeentje <rowan@beent.je>2012-01-21 18:46:25 +0000
commitfd3b64dfbbc445d52961784176eec8572f2c7880 (patch)
treeb64ae30c76e48c682a68eeb430594b3b91585ee9
parent19e97afe748dff842b11640b36a2bf4241e8a19f (diff)
downloadsequelpro-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.m2
-rw-r--r--Source/SPConnectionController.h2
-rw-r--r--Source/SPTablesList.m3
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"