summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2013-02-25 13:22:07 +0100
committerMichael Stahl <mstahl@redhat.com>2013-02-25 14:27:07 +0100
commitbf8450cfa2e9e899c716fbddadd7d5485aefe520 (patch)
tree8ed2fe59b1a115572307f0c704325627d18d402b /vcl
parentec0d1440cf07008a220708535848567bcbb233ea (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')
-rw-r--r--vcl/source/filter/wmf/emfwr.cxx15
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