aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/SPDatabaseDocument.m5
1 files changed, 4 insertions, 1 deletions
diff --git a/Source/SPDatabaseDocument.m b/Source/SPDatabaseDocument.m
index 2581967c..6091ed3b 100644
--- a/Source/SPDatabaseDocument.m
+++ b/Source/SPDatabaseDocument.m
@@ -6534,8 +6534,11 @@ static int64_t SPDatabaseDocumentInstanceCounter = 0;
if (processListController) [processListController close];
+ // #2924: The connection controller doesn't retain its delegate (us), but it may outlive us (e.g. when running a bg thread)
+ [connectionController setDelegate:nil];
+ SPClear(connectionController);
+
if (selectedTableName) SPClear(selectedTableName);
- if (connectionController) SPClear(connectionController);
if (processListController) SPClear(processListController);
if (serverVariablesController) SPClear(serverVariablesController);
if (mySQLConnection) SPClear(mySQLConnection);