aboutsummaryrefslogtreecommitdiffstats
path: root/Source/SPTableContent.m
diff options
context:
space:
mode:
authorrowanbeentje <rowan@beent.je>2011-02-15 01:24:56 +0000
committerrowanbeentje <rowan@beent.je>2011-02-15 01:24:56 +0000
commit6aa6d20436a1e920151d86c086c64466173aa130 (patch)
treecddc1ae9176880737ffd4ef2d34dbd9cc14080ef /Source/SPTableContent.m
parentafad99c5e049e30cbe1ac3e9c4dfce7de28501a1 (diff)
downloadsequelpro-6aa6d20436a1e920151d86c086c64466173aa130.tar.gz
sequelpro-6aa6d20436a1e920151d86c086c64466173aa130.tar.bz2
sequelpro-6aa6d20436a1e920151d86c086c64466173aa130.zip
- When loading tables, ensure that the column count is updated before table timers are set up. This prevents accesses of SPTableStorages while column change realloc/dealloc processes are still running, fixing exceptions on large tables
Diffstat (limited to 'Source/SPTableContent.m')
-rw-r--r--Source/SPTableContent.m7
1 files changed, 4 insertions, 3 deletions
diff --git a/Source/SPTableContent.m b/Source/SPTableContent.m
index a513ea15..a0b184dd 100644
--- a/Source/SPTableContent.m
+++ b/Source/SPTableContent.m
@@ -805,12 +805,13 @@
BOOL *columnBlobStatuses = malloc(dataColumnsCount * sizeof(BOOL));
tableLoadTargetRowCount = targetRowCount;
+ // Set the column count on the data store before setting up anything else -
+ // ensures that SPDataStorage is set up for timer-driven data loads
+ [tableValues setColumnCount:dataColumnsCount];
+
// Set up the table updates timer
[[self onMainThread] initTableLoadTimer];
- // Set the column count on the data store
- [tableValues setColumnCount:dataColumnsCount];
-
NSAutoreleasePool *dataLoadingPool;
NSProgressIndicator *dataLoadingIndicator = [tableDocumentInstance valueForKey:@"queryProgressBar"];
BOOL prefsLoadBlobsAsNeeded = [prefs boolForKey:SPLoadBlobsAsNeeded];