diff --git a/Crashlytics/Crashlytics.framework/Versions/A/Crashlytics b/Crashlytics/Crashlytics.framework/Versions/A/Crashlytics index 17aef681..d03754f4 100644 Binary files a/Crashlytics/Crashlytics.framework/Versions/A/Crashlytics and b/Crashlytics/Crashlytics.framework/Versions/A/Crashlytics differ diff --git a/Crashlytics/Crashlytics.framework/Versions/A/Resources/Info.plist b/Crashlytics/Crashlytics.framework/Versions/A/Resources/Info.plist index 7820e2ad..e2adff2a 100644 Binary files a/Crashlytics/Crashlytics.framework/Versions/A/Resources/Info.plist and b/Crashlytics/Crashlytics.framework/Versions/A/Resources/Info.plist differ diff --git a/External/Pearl b/External/Pearl index bf632ec1..41257752 160000 --- a/External/Pearl +++ b/External/Pearl @@ -1 +1 @@ -Subproject commit bf632ec1c6ec6a1b3037a0933cede0c64fae68a3 +Subproject commit 4125775291e209a55991743c5c1c18f7fc590e14 diff --git a/MasterPassword/MPAppDelegate_Key.m b/MasterPassword/MPAppDelegate_Key.m index 94014426..f2731728 100644 --- a/MasterPassword/MPAppDelegate_Key.m +++ b/MasterPassword/MPAppDelegate_Key.m @@ -16,9 +16,11 @@ static NSDictionary *keyQuery(MPUserEntity *user) { return [PearlKeyChain createQueryForClass:kSecClassGenericPassword - attributes:@{(__bridge id)kSecAttrService: @"Saved Master Password", - (__bridge id)kSecAttrAccount: user.name} - matches:nil]; + attributes:@{ + (__bridge id)kSecAttrService: @"Saved Master Password", + (__bridge id)kSecAttrAccount: IfNotNilElse(user.name, @"") + } + matches:nil]; } - (MPKey *)loadSavedKeyFor:(MPUserEntity *)user { diff --git a/MasterPassword/iOS/MPMainViewController.m b/MasterPassword/iOS/MPMainViewController.m index 37694f15..b5ac73f8 100644 --- a/MasterPassword/iOS/MPMainViewController.m +++ b/MasterPassword/iOS/MPMainViewController.m @@ -485,11 +485,13 @@ - (IBAction)copyContent { - if (!self.activeElement) + id content = self.activeElement.content; + if (!content) + // Nothing to copy. return; inf(@"Copying password for: %@", self.activeElement.name); - [UIPasteboard generalPasteboard].string = [self.activeElement.content description]; + [UIPasteboard generalPasteboard].string = [content description]; [self showContentTip:@"Copied!" withIcon:nil]; diff --git a/MasterPassword/iOS/MPUnlockViewController.m b/MasterPassword/iOS/MPUnlockViewController.m index 082fd361..9e8deaf3 100644 --- a/MasterPassword/iOS/MPUnlockViewController.m +++ b/MasterPassword/iOS/MPUnlockViewController.m @@ -554,6 +554,10 @@ - (void)tryMasterPassword { + if (!self.selectedUser) + // No user selected, can't try sign-in. + return; + [self setSpinnerActive:YES]; dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{