diff options
author | Sun Ying <sunying@apache.org> | 2012-09-10 01:56:28 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2013-05-27 10:23:07 +0100 |
commit | c05c16635b15a47591faa737947c2dce3dcb863e (patch) | |
tree | f98b4c7fca28107c54da681cce2e13f62d40a62f /sd | |
parent | ba8485a9c87a5feca3c2673af532e73ecf517b69 (diff) |
Resolves: #i119753# fix audio video object lost when save .ppt file
Reported by: Li Feng Wang
Patch by: Ying Sun
Review by: Jian Yuan Li
(cherry picked from commit fbb7e8d8957877922f2f3a971e88685589f43939)
Conflicts:
filter/inc/filter/msfilter/escherex.hxx
filter/source/msfilter/escherex.cxx
Change-Id: I545a9e95c23cfba0cc918c9c4243528570734b2d
Diffstat (limited to 'sd')
-rw-r--r-- | sd/source/filter/eppt/epptso.cxx | 15 | ||||
-rw-r--r-- | sd/source/filter/ppt/pptin.cxx | 2 |
2 files changed, 16 insertions, 1 deletions
diff --git a/sd/source/filter/eppt/epptso.cxx b/sd/source/filter/eppt/epptso.cxx index f8f1a78ea793..53c609a3d630 100644 --- a/sd/source/filter/eppt/epptso.cxx +++ b/sd/source/filter/eppt/epptso.cxx @@ -3216,7 +3216,8 @@ void PPTWriter::ImplWritePage( const PHLayout& rLayout, EscherSolverContainer& a mnAngle = 0; mpPptEscherEx->OpenContainer( ESCHER_SpContainer ); ImplCreateShape( ESCHER_ShpInst_PictureFrame, 0xa00, aSolverContainer ); - + if ( aPropOpt.CreateMediaGraphicProperties( mXShape ) ) + aPropOpt.AddOpt( ESCHER_Prop_LockAgainstGrouping, 0x800080 ); ::com::sun::star::uno::Any aAny; if ( PropValue::GetPropertyValue( aAny, mXPropSet, OUString( "MediaURL" ), sal_True ) ) { @@ -3266,6 +3267,18 @@ void PPTWriter::ImplWritePage( const PHLayout& rLayout, EscherSolverContainer& a << (sal_uInt16)EPP_ExObjRefAtom << (sal_uInt32)4 << nRefId; + // write EPP_InteractiveInfo container for no_action + *pClientData << (sal_uInt32)( ( EPP_InteractiveInfo << 16 ) | 0xf ) << (sal_uInt32)24; + *pClientData << (sal_uInt16)0 + << (sal_uInt16)EPP_InteractiveInfoAtom + << (sal_uInt32)16 + << (sal_uInt32) 0 + << (sal_uInt32) 0 + << (sal_uInt8) 6 + << (sal_uInt8) 0 + << (sal_uInt8) 0 + << (sal_uInt8) 0 + << (sal_uInt32) 0; } } } diff --git a/sd/source/filter/ppt/pptin.cxx b/sd/source/filter/ppt/pptin.cxx index a543f5c5ecfa..fd66e79e0688 100644 --- a/sd/source/filter/ppt/pptin.cxx +++ b/sd/source/filter/ppt/pptin.cxx @@ -2005,6 +2005,8 @@ String ImplSdPPTImport::ReadMedia( sal_uInt32 nMediaRef ) const if( ::utl::LocalFileHelper::ConvertPhysicalNameToURL( aStr, aRetVal ) ) { aRetVal = INetURLObject( aRetVal ).GetMainURL( INetURLObject::DECODE_UNAMBIGUOUS ); + }else{ + aRetVal = aStr; } } } |