diff options
Diffstat (limited to 'vcl/source/filter/wmf/wmf.cxx')
-rw-r--r-- | vcl/source/filter/wmf/wmf.cxx | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/vcl/source/filter/wmf/wmf.cxx b/vcl/source/filter/wmf/wmf.cxx index 3d932f2c445a..dc865c1a48d3 100644 --- a/vcl/source/filter/wmf/wmf.cxx +++ b/vcl/source/filter/wmf/wmf.cxx @@ -23,6 +23,7 @@ #include <vcl/wmf.hxx> #include <vcl/gdimetafiletools.hxx> #include <comphelper/scopeguard.hxx> +#include <vcl/emfact.hxx> bool ConvertWMFToGDIMetaFile( SvStream & rStreamWMF, GDIMetaFile & rGDIMetaFile, FilterConfigItem* pConfigItem, WMF_EXTERNALHEADER *pExtHeader ) { @@ -74,8 +75,19 @@ bool ReadWindowMetafile( SvStream& rStream, GDIMetaFile& rMTF, FilterConfigItem* if ( nMetaType == 0x464d4520 ) { - if ( !EnhWMFReader( rStream, rMTF, NULL ).ReadEnhWMF() ) - rStream.SetError( SVSTREAM_FILEFORMAT_ERROR ); + EmfAction* pEmfAction = NULL; + + sal_uInt32 nActions=0; + + do { + SAL_INFO("vcl.emf", ""); + SAL_INFO("vcl.emf", "Record#: " << nActions); + pEmfAction = EmfAction::ReadEmfAction( rStream ); + nActions++; + } while (pEmfAction->GetType() != EMR_EOF_ACTION); + + // if ( !EnhWMFReader( rStream, rMTF, NULL ).ReadEnhWMF() ) + // rStream.SetError( SVSTREAM_FILEFORMAT_ERROR ); } else { |