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
diff --git a/vcl/source/filter/wmf/emfwr.cxx b/vcl/source/filter/wmf/emfwr.cxx
index b5af460..603ca06 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