diff --git a/OpenChange/MAPIStoreContext.m b/OpenChange/MAPIStoreContext.m index 2a0e1c58e..e16b23d9b 100644 --- a/OpenChange/MAPIStoreContext.m +++ b/OpenChange/MAPIStoreContext.m @@ -480,11 +480,10 @@ static inline NSURL *CompleteURLFromMapistoreURI (const char *uri) - (uint64_t) idForObjectWithKey: (NSString *) key inFolderURL: (NSString *) folderURL { - NSString *childURL, *owner; + NSString *childURL; MAPIStoreMapping *mapping; uint64_t mappingId; - uint32_t contextId; - void *rootObject; + enum mapistore_error ret; if (key) childURL = [NSString stringWithFormat: @"%@%@", folderURL, @@ -495,15 +494,13 @@ static inline NSURL *CompleteURLFromMapistoreURI (const char *uri) mappingId = [mapping idFromURL: childURL]; if (mappingId == NSNotFound) { - mapistore_indexing_get_new_folderID (connInfo->mstore_ctx, &mappingId); - [mapping registerURL: childURL withID: mappingId]; - contextId = 0; - - mapistore_search_context_by_uri (connInfo->mstore_ctx, [folderURL UTF8String], - &contextId, &rootObject); - owner = [userContext username]; - mapistore_indexing_record_add_mid (connInfo->mstore_ctx, contextId, - [owner UTF8String], mappingId); + [self logWithFormat: @"No id exist yet for '%@', requesting one", childURL]; + ret = mapistore_indexing_get_new_folderID (connInfo->mstore_ctx, &mappingId); + if (ret == MAPI_E_SUCCESS) + [mapping registerURL: childURL withID: mappingId]; + else + [self errorWithFormat: @"Error trying to get new folder id (%d): %s", + ret, mapistore_errstr (ret)]; } return mappingId;