From f57de77545e447b941f528e0ac01d1e044a50a26 Mon Sep 17 00:00:00 2001 From: Maarten Billemont Date: Tue, 15 Apr 2014 01:07:46 -0400 Subject: [PATCH] Permanent IDs are now properly generated before save. --- External/Pearl | 2 +- MasterPassword/ObjC/MPAppDelegate_Store.m | 9 ++------- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/External/Pearl b/External/Pearl index 8d3d345c..d4bbb48f 160000 --- a/External/Pearl +++ b/External/Pearl @@ -1 +1 @@ -Subproject commit 8d3d345c4cc4c2630167d173767a856988c9d460 +Subproject commit d4bbb48f21af0323f887d8c869db90951e1f14f6 diff --git a/MasterPassword/ObjC/MPAppDelegate_Store.m b/MasterPassword/ObjC/MPAppDelegate_Store.m index 529c8926..eb02ce0d 100644 --- a/MasterPassword/ObjC/MPAppDelegate_Store.m +++ b/MasterPassword/ObjC/MPAppDelegate_Store.m @@ -372,12 +372,6 @@ PearlAssociatedObjectProperty(NSManagedObjectContext*, MainManagedObjectContext, // When privateManagedObjectContext is saved, import the changes into mainManagedObjectContext. [mainManagedObjectContext performBlock:^{ [mainManagedObjectContext mergeChangesFromContextDidSaveNotification:note]; - - NSError *error = nil; - if (![mainManagedObjectContext obtainPermanentIDsForObjects: - [mainManagedObjectContext.registeredObjects allObjects] - error:&error] || error) - err(@"Failed to obtain permanent object IDs for all objects in main context: %@", error); }]; }]; @@ -423,12 +417,13 @@ PearlAssociatedObjectProperty(NSManagedObjectContext*, MainManagedObjectContext, element.type = type; element.lastUsed = [NSDate date]; element.version = MPAlgorithmDefaultVersion; - [context saveToStore]; NSError *error = nil; if (element.objectID.isTemporaryID && ![context obtainPermanentIDsForObjects:@[ element ] error:&error]) err(@"Failed to obtain a permanent object ID after creating new element: %@", error); + [context saveToStore]; + completion( element ); }]; }