commonuis/CommonUi/src/DocumentHandler.cpp
branchRCL_3
changeset 20 d48ab3b357f1
parent 19 aecbbf00d063
child 21 978afdc0236f
equal deleted inserted replaced
19:aecbbf00d063 20:d48ab3b357f1
   443         }
   443         }
   444 	
   444 	
   445 	TFileName filenameold;
   445 	TFileName filenameold;
   446     aFileOld.FullName( filenameold );
   446     aFileOld.FullName( filenameold );
   447     iHandler->SetSrcFileName( filenameold );
   447     iHandler->SetSrcFileName( filenameold );
       
   448     iHandler->SetSrcFile( aFileOld );
   448 
   449 
   449     // If aFileNameNew is not set, use source file name
   450     // If aFileNameNew is not set, use source file name
   450     if (aFileNameNew.Length() != 0)
   451     if (aFileNameNew.Length() != 0)
   451         {
   452         {
   452         error = iHandler->SetDestName( aFileNameNew );
   453         error = iHandler->SetDestName( aFileNameNew );
  1391     if ( error == KErrNone )
  1392     if ( error == KErrNone )
  1392         {
  1393         {
  1393         CloseSharableFS();
  1394         CloseSharableFS();
  1394         User::LeaveIfError(iSharableFS.Connect());
  1395         User::LeaveIfError(iSharableFS.Connect());
  1395         User::LeaveIfError(iSharableFS.ShareProtected());
  1396         User::LeaveIfError(iSharableFS.ShareProtected());
  1396         TInt err = aSharableFile.Open(iSharableFS,aFileName,EFileShareReadersOnly);
  1397 
  1397         if (err == KErrInUse)
  1398 		error = aSharableFile.Open( iSharableFS, aFileName, EFileShareReadersOrWriters );
  1398             {
  1399         if( error == KErrTooBig )
  1399             User::LeaveIfError(aSharableFile.Open(iSharableFS,aFileName,EFileShareReadersOrWriters));
  1400 			{
  1400             }
  1401 		    RFile64* file64 = NULL;
  1401         else if ( err != KErrNone )
  1402 		    file64 = static_cast<RFile64*> (&aSharableFile);
  1402             {
  1403 		    if( file64 != NULL )
  1403             error = err; // Otherwise possible KErrNotReady caused by hotswap leads to crash later
  1404 			    {
  1404             }
  1405 			    error = file64->Open( iSharableFS, aFileName, EFileShareReadersOrWriters );
  1405         }
  1406 			    }
       
  1407 			}
       
  1408 		}
       
  1409     
  1406     #ifdef _DEBUG
  1410     #ifdef _DEBUG
  1407     RDebug::Print( _L("DocumentHandler: CDocumentHandler::OpenTempFileL: finished with error=%d."), error);
  1411     RDebug::Print( _L("DocumentHandler: CDocumentHandler::OpenTempFileL: finished with error=%d."), error);
  1408     #endif
  1412     #endif
  1409 
  1413 
  1410     LEAVEONERROR( error );
  1414     LEAVEONERROR( error );