diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 4353cfab..e361faf7 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -334,7 +334,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou if(self != document) { return; // wrong parameters } - if(didSave) { + if(!didSave) { return; // not saved! } /* FIXME: User feedback is ignored */ diff --git a/MacPass/MPDocumentWindowController.m b/MacPass/MPDocumentWindowController.m index e01892c9..669fdb55 100644 --- a/MacPass/MPDocumentWindowController.m +++ b/MacPass/MPDocumentWindowController.m @@ -91,6 +91,7 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didUnlockDatabase:) name:MPDocumentDidUnlockDatabaseNotification object:document]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didAddEntry:) name:MPDocumentDidAddEntryNotification object:document]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didAddGroup:) name:MPDocumentDidAddGroupNotification object:document]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didLockDatabase:) name:MPDocumentDidLockDatabaseNotification object:document]; [self.entryViewController regsiterNotificationsForDocument:document]; [self.inspectorViewController registerNotificationsForDocument:document]; @@ -181,12 +182,17 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); [self showInspector:self]; } +- (void)_didLockDatabase:(NSNotification *)notification { + [self showPasswordInput]; +} + - (void)_didUnlockDatabase:(NSNotification *)notification { [self showEntries]; /* Show password reminders */ [self _presentPasswordIntervalAlerts]; } + #pragma mark Actions - (void)saveDocument:(id)sender { MPDocument *document = self.document; @@ -345,7 +351,6 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); if(document.encrypted) { return; // Document already locked } - [self showPasswordInput]; [document lockDatabase:sender]; }