--- 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"));
}