2
0

Hopefully fixed issue with rendering maximum security cells re-used from "new site" cells.

[FIXED]     When a "new site" cell gets recycled as a "maximum security" entity's cell, we may not be able to scroll to the cell index for the type because the collection view's cell indexes weren't updated yet.
This commit is contained in:
Maarten Billemont 2014-06-05 22:00:20 -04:00
parent db55634ab2
commit 2006e382d4
6 changed files with 8 additions and 10 deletions

2
External/LoveLyndir vendored

@ -1 +1 @@
Subproject commit ceed9e20009f2cf3679445e2c60b0f206aaef383 Subproject commit c2a728dab38101addc645f0a0f34d82a06e34e8d

2
External/Pearl vendored

@ -1 +1 @@
Subproject commit daa260b3ecaca266ffcfa597e9350900dda6cc56 Subproject commit c9000309913081119803fdd1c2106e371c1b594a

View File

@ -16,7 +16,7 @@ static NSDictionary *keyQuery(MPUserEntity *user) {
return [PearlKeyChain createQueryForClass:kSecClassGenericPassword return [PearlKeyChain createQueryForClass:kSecClassGenericPassword
attributes:@{ attributes:@{
(__bridge id)kSecAttrService : @"Saved Master Password", (__bridge id)kSecAttrService : @"Saved Master Password",
(__bridge id)kSecAttrAccount : IfNotNilElse( user.name, @"" ) (__bridge id)kSecAttrAccount : user.name?: @""
} }
matches:nil]; matches:nil];
} }

View File

@ -430,7 +430,7 @@ PearlAssociatedObjectProperty( NSManagedObjectContext*, MainManagedObjectContext
@"cause" : @(cause), @"cause" : @(cause),
@"error.code" : @(error.code), @"error.code" : @(error.code),
@"error.domain" : NilToNSNull( error.domain ), @"error.domain" : NilToNSNull( error.domain ),
@"error.reason" : NilToNSNull( IfNotNilElse( [error localizedFailureReason], [error localizedDescription] ) ), @"error.reason" : NilToNSNull( [error localizedFailureReason]?: [error localizedDescription] ),
} ); } );
} }

View File

@ -186,7 +186,7 @@
- (MPElementType)defaultType { - (MPElementType)defaultType {
return IfElse((MPElementType)[self.defaultType_ unsignedIntegerValue], MPElementTypeGeneratedLong); return (MPElementType)[self.defaultType_ unsignedIntegerValue]?: MPElementTypeGeneratedLong;
} }
- (void)setDefaultType:(MPElementType)aDefaultType { - (void)setDefaultType:(MPElementType)aDefaultType {

View File

@ -230,7 +230,8 @@
if (self.transientSite) if (self.transientSite)
PearlMainQueue( ^{ PearlMainQueue( ^{
self.activeType = IfElse( [[MPiOSAppDelegate get] activeUserForMainThread].defaultType, MPElementTypeGeneratedLong ); self.algorithm = MPAlgorithmDefault;
self.activeType = [[MPiOSAppDelegate get] activeUserForMainThread].defaultType?: MPElementTypeGeneratedLong;
for (NSInteger section = 0; section < [self.contentCollectionView numberOfSections]; ++section) for (NSInteger section = 0; section < [self.contentCollectionView numberOfSections]; ++section)
for (NSInteger item = 0; item < [self.contentCollectionView numberOfItemsInSection:section]; ++item) for (NSInteger item = 0; item < [self.contentCollectionView numberOfItemsInSection:section]; ++item)
@ -242,7 +243,7 @@
[MPiOSAppDelegate managedObjectContextForMainThreadPerformBlockAndWait:^(NSManagedObjectContext *mainContext) { [MPiOSAppDelegate managedObjectContextForMainThreadPerformBlockAndWait:^(NSManagedObjectContext *mainContext) {
MPElementEntity *mainElement = [self mainElement]; MPElementEntity *mainElement = [self mainElement];
self.algorithm = IfNotNilElse( mainElement.algorithm, MPAlgorithmDefault ); self.algorithm = mainElement.algorithm?: MPAlgorithmDefault;
self.activeType = mainElement.type; self.activeType = mainElement.type;
for (NSInteger section = 0; section < [self.contentCollectionView numberOfSections]; ++section) for (NSInteger section = 0; section < [self.contentCollectionView numberOfSections]; ++section)
@ -374,9 +375,6 @@
- (void)setAlgorithm:(id<MPAlgorithm>)algorithm { - (void)setAlgorithm:(id<MPAlgorithm>)algorithm {
if ([_algorithm isEqual:algorithm])
return;
_algorithm = algorithm; _algorithm = algorithm;
[self.contentCollectionView reloadData]; [self.contentCollectionView reloadData];