diff -r f5809cfbf6d5 -r 523717cdb0ad mtpfws/mtpfw/src/cmtpobjectstore.cpp --- a/mtpfws/mtpfw/src/cmtpobjectstore.cpp Tue May 11 16:59:11 2010 +0300 +++ b/mtpfws/mtpfw/src/cmtpobjectstore.cpp Tue May 25 13:35:25 2010 +0300 @@ -497,9 +497,15 @@ else { aObject.SetUint(CMTPObjectMetaData::EHandle, handle); - needUpdateOwner = ETrue; - //while enumerating, we ignore the repeatedly INSERT operations. - //User::Leave(KErrAlreadyExists); + CMTPObjectMetaData* object(CMTPObjectMetaData::NewLC()); + if(ObjectL(aObject.DesC(CMTPObjectMetaData::ESuid), *object)) + { + if(object->Uint(CMTPObjectMetaData::EDataProviderId) != aObject.Uint(CMTPObjectMetaData::EDataProviderId)) + { + needUpdateOwner = ETrue; + } + } + CleanupStack::PopAndDestroy(object); } __FLOG_VA(_L8("Not Found in Snapshot")); }