diff options
author | Max <post@wickenrode.com> | 2017-04-18 00:33:14 +0200 |
---|---|---|
committer | Max <post@wickenrode.com> | 2017-04-18 00:33:14 +0200 |
commit | e1b881b8f893803c4949a69055c4e8106562327d (patch) | |
tree | c4a06dc86700c5fb0e25d47a54061117e0d7f0f1 /Source/SPDataStorage.m | |
parent | 4daa0e1419ac63abcfb87b9ba7e9f3db5861a95a (diff) | |
download | sequelpro-e1b881b8f893803c4949a69055c4e8106562327d.tar.gz sequelpro-e1b881b8f893803c4949a69055c4e8106562327d.tar.bz2 sequelpro-e1b881b8f893803c4949a69055c4e8106562327d.zip |
Move some code to a place where it makes more sense to be (part of #2770)
(This should not cause any behavioral changes)
Diffstat (limited to 'Source/SPDataStorage.m')
-rw-r--r-- | Source/SPDataStorage.m | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/Source/SPDataStorage.m b/Source/SPDataStorage.m index fca33c0a..44c2dc9d 100644 --- a/Source/SPDataStorage.m +++ b/Source/SPDataStorage.m @@ -468,6 +468,13 @@ static inline NSMutableArray* SPDataStorageGetEditedRow(NSPointerArray* rowStore } } +- (void) awaitDataDownloaded +{ + [dataDownloadedLock lock]; + while(![self dataDownloaded]) [dataDownloadedLock wait]; + [dataDownloadedLock unlock]; +} + #pragma mark - Delegate callback methods /** @@ -479,6 +486,9 @@ static inline NSMutableArray* SPDataStorageGetEditedRow(NSPointerArray* rowStore [editedRows setCount:(NSUInteger)[resultStore numberOfRows]]; editedRowCount = [editedRows count]; } + [dataDownloadedLock lock]; + [dataDownloadedLock broadcast]; + [dataDownloadedLock unlock]; } /** @@ -492,6 +502,7 @@ static inline NSMutableArray* SPDataStorageGetEditedRow(NSPointerArray* rowStore dataStorage = nil; editedRows = nil; unloadedColumns = NULL; + dataDownloadedLock = [NSCondition new]; numberOfColumns = 0; editedRowCount = 0; @@ -504,6 +515,7 @@ static inline NSMutableArray* SPDataStorageGetEditedRow(NSPointerArray* rowStore @synchronized(self) { SPClear(dataStorage); SPClear(editedRows); + SPClear(dataDownloadedLock); if (unloadedColumns) { free(unloadedColumns), unloadedColumns = NULL; } |