commonuis/CommonUi/src/DocumentHandler.cpp
branchRCL_3
changeset 20 d48ab3b357f1
parent 19 aecbbf00d063
child 21 978afdc0236f
--- a/commonuis/CommonUi/src/DocumentHandler.cpp	Tue Aug 31 15:28:30 2010 +0300
+++ b/commonuis/CommonUi/src/DocumentHandler.cpp	Wed Sep 01 12:16:19 2010 +0100
@@ -445,6 +445,7 @@
 	TFileName filenameold;
     aFileOld.FullName( filenameold );
     iHandler->SetSrcFileName( filenameold );
+    iHandler->SetSrcFile( aFileOld );
 
     // If aFileNameNew is not set, use source file name
     if (aFileNameNew.Length() != 0)
@@ -1393,16 +1394,19 @@
         CloseSharableFS();
         User::LeaveIfError(iSharableFS.Connect());
         User::LeaveIfError(iSharableFS.ShareProtected());
-        TInt err = aSharableFile.Open(iSharableFS,aFileName,EFileShareReadersOnly);
-        if (err == KErrInUse)
-            {
-            User::LeaveIfError(aSharableFile.Open(iSharableFS,aFileName,EFileShareReadersOrWriters));
-            }
-        else if ( err != KErrNone )
-            {
-            error = err; // Otherwise possible KErrNotReady caused by hotswap leads to crash later
-            }
-        }
+
+		error = aSharableFile.Open( iSharableFS, aFileName, EFileShareReadersOrWriters );
+        if( error == KErrTooBig )
+			{
+		    RFile64* file64 = NULL;
+		    file64 = static_cast<RFile64*> (&aSharableFile);
+		    if( file64 != NULL )
+			    {
+			    error = file64->Open( iSharableFS, aFileName, EFileShareReadersOrWriters );
+			    }
+			}
+		}
+    
     #ifdef _DEBUG
     RDebug::Print( _L("DocumentHandler: CDocumentHandler::OpenTempFileL: finished with error=%d."), error);
     #endif