diff options
author | Michael Stahl <mstahl@redhat.com> | 2013-02-25 13:22:07 +0100 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2013-02-25 14:27:07 +0100 |
commit | bf8450cfa2e9e899c716fbddadd7d5485aefe520 (patch) | |
tree | 8ed2fe59b1a115572307f0c704325627d18d402b /vcl/source | |
parent | ec0d1440cf07008a220708535848567bcbb233ea (diff) |
fdo#59405 fdo#60638: EMFWriter::ImplWrite: write EMF_PLUS "comments"
When editing the Visio OLE object, there is a "preview" file generated,
which is apparently an EMF file (strangely initially inserting the Visio
object seems to result in a totally unproblematic WMF file).
The EMF file apparently has almost its entire content stored in
MetaCommentAction of type "EMF_PLUS", which is thrown away when writing
the file again.
Change-Id: I77a08454da673c1825aaa8421606737e7e8bc82c
Diffstat (limited to 'vcl/source')
-rw-r--r-- | vcl/source/filter/wmf/emfwr.cxx | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/vcl/source/filter/wmf/emfwr.cxx b/vcl/source/filter/wmf/emfwr.cxx index b5af4609401e..603ca06c0b2f 100644 --- a/vcl/source/filter/wmf/emfwr.cxx +++ b/vcl/source/filter/wmf/emfwr.cxx @@ -1601,12 +1601,25 @@ void EMFWriter::ImplWrite( const GDIMetaFile& rMtf ) break; } + case( META_COMMENT_ACTION ): + { + MetaCommentAction const*const pCommentAction( + static_cast<MetaCommentAction const*>(pAction)); + if (pCommentAction->GetComment() == "EMF_PLUS") + { + ImplBeginCommentRecord(WIN_EMR_COMMENT_EMFPLUS); + m_rStm.Write(pCommentAction->GetData(), + pCommentAction->GetDataSize()); + ImplEndCommentRecord(); + } + } + break; + case( META_MASK_ACTION ): case( META_MASKSCALE_ACTION ): case( META_MASKSCALEPART_ACTION ): case( META_WALLPAPER_ACTION ): case( META_TEXTLINE_ACTION ): - case( META_COMMENT_ACTION ): case( META_GRADIENTEX_ACTION ): { // !!! >>> we don't want to support these actions |