--- a/commonuis/CommonUi/src/DocDefaultHandler.cpp Wed Sep 01 12:16:19 2010 +0100
+++ b/commonuis/CommonUi/src/DocDefaultHandler.cpp Tue Sep 14 21:48:24 2010 +0300
@@ -361,7 +361,7 @@
done = ETrue;
error = KErrNone;
break;
- case EDocFileRenameNew:
+ case EDocFileRenameNew:
CheckFileNameExtensionL( iDestFile, iDataType );
break;
default:
@@ -558,6 +558,15 @@
return SetAndReturnStatus( KErrNone );
}
+void CDocDefaultHandler::ResetSrcFile()
+ {
+ if( iFileHandleSet )
+ {
+ iFile.Close();
+ iFileHandleSet = EFalse;
+ }
+ }
+
// ---------------------------------------------------------
// CDocDefaultHandler::SetDestName()
// Check the name and set iDestFile.
@@ -1660,54 +1669,56 @@
// If we have iSourceFile available, we check first that is file DCF file.
// If it is, then we will use dcf file extensions, which override all other extensions.
if (iSourceFile.Length() > 0)
- {
+ {
TInt ret = EFalse;
TBuf<6> ext;
- CContent* content = NULL;
- if( iFileHandleSet )
- {
- content = CContent::NewL( iFile );
- iFile.Close();
- iFileHandleSet = EFalse;
- }
- else
- {
- content = CContent::NewL( iSourceFile );
- }
-
- CleanupStack::PushL(content);
- content->GetAttribute( ContentAccess::EIsProtected, ret );
- if ( ret )
- {
- content->GetAttribute( EFileType, ret );
+ CContent* content = NULL;
+ TInt err = KErrNone;
+ if( iFileHandleSet )
+ {
+ TRAP(err, content = CContent::NewL( iFile ));
+ }
+ else
+ {
+ TRAP(err, content = CContent::NewL( iSourceFile ));
+ }
+
+ if( err == KErrNone)
+ {
+ content->GetAttribute( ContentAccess::EIsProtected, ret );
+ if ( ret )
+ {
+ content->GetAttribute( EFileType, ret );
- #ifdef _DEBUG
- RDebug::Print( _L("DocumentHandler: CDocDefaultHandler::CheckFileNameExtensionL: GetAttribute called, ret =%d"), ret);
- #endif
+ #ifdef _DEBUG
+ RDebug::Print( _L("DocumentHandler: CDocDefaultHandler::CheckFileNameExtensionL: GetAttribute called, ret =%d"), ret);
+ #endif
- if ( ret == EOma1Dcf )
- {
- // change extension to .dcf
- ext.Copy( KOma1DcfExtension );
- ReplaceExtension( aFileName, ext );
- CleanupStack::PopAndDestroy(); // content
- return;
- }
- else if ( ret == EOma2Dcf )
- {
- // change extension to .odf if not already .o4a, .o4v or .odf
- ext.Copy( KOma2DcfExtension );
- if ( NeedsToReplaceDcf2Extension( aFileName ) )
- {
- ReplaceExtension( aFileName, ext );
- }
- CleanupStack::PopAndDestroy(); // content
- return;
- }
- }
- CleanupStack::PopAndDestroy(); // content
- }
+ if ( ret == EOma1Dcf )
+ {
+ // change extension to .dcf
+ ext.Copy( KOma1DcfExtension );
+ ReplaceExtension( aFileName, ext );
+ delete content;
+ return;
+ }
+ else if ( ret == EOma2Dcf )
+ {
+ // change extension to .odf if not already .o4a, .o4v or .odf
+ ext.Copy( KOma2DcfExtension );
+ if ( NeedsToReplaceDcf2Extension( aFileName ) )
+ {
+ ReplaceExtension( aFileName, ext );
+ }
+ delete content;
+ return;
+ }
+ }
+ delete content;
+ content = NULL;
+ }
+ }
//if mime type=oma 2 dcf check extension separately
if ( aDataType.Des8().FindF( KOma2DcfContentType ) != KErrNotFound )