mtpfws/mtpfw/datatypes/src/cmtptypefile.cpp
branchRCL_3
changeset 3 8b094906a049
parent 1 f8e15b44d440
child 4 60a94a45d437
--- 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
         {