diff options
Diffstat (limited to 'Source/TableContent.m')
-rw-r--r-- | Source/TableContent.m | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/Source/TableContent.m b/Source/TableContent.m index d038dfef..4286723a 100644 --- a/Source/TableContent.m +++ b/Source/TableContent.m @@ -1418,15 +1418,16 @@ } else if (rowsProcessed == targetRowCount) { [tableDocumentInstance performSelectorOnMainThread:@selector(setTaskProgressToIndeterminate) withObject:nil waitUntilDone:NO]; } - - if (rowsProcessed > nextTableDisplayBoundary) { - [tableContentView performSelectorOnMainThread:@selector(noteNumberOfRowsChanged) withObject:nil waitUntilDone:NO]; - if (!tableViewRedrawn) { - [tableContentView performSelectorOnMainThread:@selector(displayIfNeeded) withObject:nil waitUntilDone:NO]; - tableViewRedrawn = YES; - } - nextTableDisplayBoundary *= 2; + } + + // Update the table view with new results every now and then + if (rowsProcessed > nextTableDisplayBoundary) { + [tableContentView performSelectorOnMainThread:@selector(noteNumberOfRowsChanged) withObject:nil waitUntilDone:NO]; + if (!tableViewRedrawn) { + [tableContentView performSelectorOnMainThread:@selector(displayIfNeeded) withObject:nil waitUntilDone:NO]; + tableViewRedrawn = YES; } + nextTableDisplayBoundary *= 2; } // Drain and reset the autorelease pool every ~1024 rows |