--- a/mtpfws/mtpfw/datatypes/src/cmtptypefile.cpp Fri Mar 12 15:46:41 2010 +0200
+++ b/mtpfws/mtpfw/datatypes/src/cmtptypefile.cpp Mon Mar 15 12:43:12 2010 +0200
@@ -526,7 +526,11 @@
if (aMode & EFileWrite)
{
iFileOpenForRead = EFalse;
- User::LeaveIfError(iFile.Replace(aFs, aName, aMode|EFileWriteDirectIO));
+ TInt err = iFile.Create(aFs, aName, aMode|EFileWriteDirectIO);
+ if (err != KErrNone)
+ {
+ User::LeaveIfError(iFile.Replace(aFs, aName, aMode|EFileWriteDirectIO));
+ }
}
else
{
@@ -559,7 +563,11 @@
if (aMode & EFileWrite)
{
iFileOpenForRead = EFalse;
- User::LeaveIfError(iFile.Replace(aFs, aName, aMode|EFileWriteDirectIO));
+ TInt err = iFile.Create(aFs, aName, aMode|EFileWriteDirectIO);
+ if (err != KErrNone)
+ {
+ User::LeaveIfError(iFile.Replace(aFs, aName, aMode|EFileWriteDirectIO));
+ }
}
else
{