mirror of
https://github.com/oxen-io/session-ios.git
synced 2023-12-13 21:30:14 +01:00
Bugfix: Fixes crash on multiple update.
This commit is contained in:
parent
80a8c39213
commit
e269bd62ee
|
@ -687,40 +687,42 @@ typedef enum : NSUInteger {
|
|||
return;
|
||||
}
|
||||
|
||||
for (YapDatabaseViewRowChange *rowChange in messageRowChanges)
|
||||
{
|
||||
switch (rowChange.type)
|
||||
[self.collectionView performBatchUpdates:^{
|
||||
for (YapDatabaseViewRowChange *rowChange in messageRowChanges)
|
||||
{
|
||||
case YapDatabaseViewChangeDelete :
|
||||
switch (rowChange.type)
|
||||
{
|
||||
[self.collectionView deleteItemsAtIndexPaths:@[ rowChange.indexPath ]];
|
||||
break;
|
||||
}
|
||||
case YapDatabaseViewChangeInsert :
|
||||
{
|
||||
[self.collectionView insertItemsAtIndexPaths:@[ rowChange.newIndexPath ]];
|
||||
break;
|
||||
}
|
||||
case YapDatabaseViewChangeMove :
|
||||
{
|
||||
[self.collectionView deleteItemsAtIndexPaths:@[ rowChange.indexPath]];
|
||||
[self.collectionView insertItemsAtIndexPaths:@[ rowChange.newIndexPath]];
|
||||
break;
|
||||
}
|
||||
case YapDatabaseViewChangeUpdate :
|
||||
{
|
||||
NSMutableArray *rowsToUpdate = [@[rowChange.indexPath] mutableCopy];
|
||||
if (_lastDeliveredMessageIndexPath) {
|
||||
[rowsToUpdate addObject:_lastDeliveredMessageIndexPath];
|
||||
case YapDatabaseViewChangeDelete :
|
||||
{
|
||||
[self.collectionView deleteItemsAtIndexPaths:@[ rowChange.indexPath ]];
|
||||
break;
|
||||
}
|
||||
case YapDatabaseViewChangeInsert :
|
||||
{
|
||||
[self.collectionView insertItemsAtIndexPaths:@[ rowChange.newIndexPath ]];
|
||||
break;
|
||||
}
|
||||
case YapDatabaseViewChangeMove :
|
||||
{
|
||||
[self.collectionView deleteItemsAtIndexPaths:@[ rowChange.indexPath]];
|
||||
[self.collectionView insertItemsAtIndexPaths:@[ rowChange.newIndexPath]];
|
||||
break;
|
||||
}
|
||||
case YapDatabaseViewChangeUpdate :
|
||||
{
|
||||
NSMutableArray *rowsToUpdate = [@[rowChange.indexPath] mutableCopy];
|
||||
if (_lastDeliveredMessageIndexPath) {
|
||||
[rowsToUpdate addObject:_lastDeliveredMessageIndexPath];
|
||||
}
|
||||
|
||||
[self.collectionView reloadItemsAtIndexPaths:rowsToUpdate];
|
||||
break;
|
||||
}
|
||||
|
||||
[self.collectionView reloadItemsAtIndexPaths:rowsToUpdate];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[self finishReceivingMessage];
|
||||
} completion:^(BOOL finished) {
|
||||
[self finishReceivingMessage];
|
||||
}];
|
||||
}
|
||||
|
||||
#pragma mark - UICollectionView DataSource
|
||||
|
|
Loading…
Reference in a new issue