diff options
author | Chris Sherlock <chris.sherlock79@gmail.com> | 2013-05-10 19:13:12 +1000 |
---|---|---|
committer | David Tardon <dtardon@redhat.com> | 2013-05-10 12:20:43 +0000 |
commit | 8f0d943366f591db9142b6a9ffd9cd52b0652cbb (patch) | |
tree | df57d77e7628aba8d829359116e5050b9dbb6086 /include/sal | |
parent | 717c9643bdb991eec87540fb3102c6ef6a25fce8 (diff) |
Enhancements to VCL metafile handling
* Remove EMFP_DEBUG with OSL_DEBUG conditional defines and SAL_INFO
* While we are about it, to help with troubleshooting metafile
issues, add another vcl.emf area to log-areas.dox
* Improve error handling when processing an EMF header:
+ replace variable name nsal_uInt32 (!!) with sane variables
to make the code more readable
+ check to ensure that type field is 0x1, which is all it can be
for metafiles
+ check that signature field is set to ASCII-encoded value "FME"
+ loose check of version field to see if it is 0x00010000
+ warn if record count is zero - that really shouldn't be possible
+ check bytes field in header to make sure it correlates to the
actual size of the metafile
+ additional check - [MS-EMF] states that reserved field should be
zero, and ignored... but we can use this to check for file
corruption - not 0, not correct!
* Quite a few more comments in the code to clarify the intended
structure of a metafile, per [MS-EMF] documentation
Change-Id: Id4ed486b2dd0c6e7bdee67cb344aaaf8e8d98f84
Reviewed-on: https://gerrit.libreoffice.org/3839
Reviewed-by: David Tardon <dtardon@redhat.com>
Tested-by: David Tardon <dtardon@redhat.com>
Diffstat (limited to 'include/sal')
-rw-r--r-- | include/sal/log-areas.dox | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/sal/log-areas.dox b/include/sal/log-areas.dox index 693450b6b587..cf1f1ccfaa62 100644 --- a/include/sal/log-areas.dox +++ b/include/sal/log-areas.dox @@ -260,6 +260,7 @@ certain functionality. @li @c vcl.atsui - ATSUI (obsolete) -using code for Mac OS X @li @c vcl.control @li @c vcl.coretext - CoreText-using code for Mac OS X and iOS +@li @c vcl.emf - EMF/EMF+ processing @li @c vcl.fonts - font-specific code @li @c vcl.gdi - the GDI part of VCL, devices, bitmaps, etc. @li @c vcl.gtk - Gtk+ 2/3 plugin |