diff -r 48a2e0d8a4ce -r 85e0c0339cc3 mtpfws/mtpfw/src/cmtpobjectstore.cpp --- a/mtpfws/mtpfw/src/cmtpobjectstore.cpp Thu May 27 13:42:43 2010 +0300 +++ b/mtpfws/mtpfw/src/cmtpobjectstore.cpp Fri Jun 11 14:27:06 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")); }