summaryrefslogtreecommitdiff
path: root/sd
diff options
context:
space:
mode:
authorSun Ying <sunying@apache.org>2012-09-10 01:56:28 +0000
committerCaolán McNamara <caolanm@redhat.com>2013-05-27 11:06:26 +0100
commitb3faed955fa4e0c7e3b1f6843bfb81f15edc2826 (patch)
tree1320d66c8baf179e136e606a328f050069535d5c /sd
parent8d4e5e7938f7008bc3f973cc8158a39cbd1a5bdb (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 (cherry picked from commit c05c16635b15a47591faa737947c2dce3dcb863e)
Diffstat (limited to 'sd')
-rw-r--r--sd/source/filter/eppt/epptso.cxx15
-rw-r--r--sd/source/filter/ppt/pptin.cxx2
2 files changed, 16 insertions, 1 deletions
diff --git a/sd/source/filter/eppt/epptso.cxx b/sd/source/filter/eppt/epptso.cxx
index 4d4c3ee3d83a..41a82388dfc5 100644
--- a/sd/source/filter/eppt/epptso.cxx
+++ b/sd/source/filter/eppt/epptso.cxx
@@ -3212,7 +3212,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 ) )
{
@@ -3262,6 +3263,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 9e3eab593647..a2c78300451e 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;
}
}
}