https://bugs.documentfoundation.org/show_bug.cgi?id=91254

            Bug ID: 91254
           Summary: Very strange EMF+ corruption on Linux and OS X
           Product: LibreOffice
           Version: 4.3 Daily
          Hardware: Other
                OS: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: medium
         Component: graphics stack
          Assignee: [email protected]
          Reporter: [email protected]

Created attachment 115547
  --> https://bugs.documentfoundation.org/attachment.cgi?id=115547&action=edit
Anonymized bugdoc (EMF+)

The attached EMF+ image is not opened correctly on Linux, lines are not shown
(e.g. arrow lines).

* The bug was originally found on Linux (64-bit).
* The bug is not reproduced on Windows (both 32-bit and 64-bit). 
* The chart looks terribly broken with OS X builds. Only text elements are
displayed.
* On all platforms rendering is OK with EMF_PLUS_DISABLE=1, not perfect of
course, because the EMF+ image has more details. 
* I bisected the problem on Linux, and the first bad commit was mine, but in my
opinion it only triggered the bug, because it seems to be unrelated.


5b8ad54cc596a58da1f79937cc6709ce0799ac7f is the first bad commit
commit 5b8ad54cc596a58da1f79937cc6709ce0799ac7f
Author: Andras Timar <[email protected]>
Date:   Mon Jan 6 19:23:01 2014 +0100

    EMF/WMF: parse line cap and line join

I was surprised, that the following patch fixed the bug on Linux (but not on OS
X):

diff --git a/vcl/source/filter/wmf/enhwmf.cxx
b/vcl/source/filter/wmf/enhwmf.cxx
index c314ef6..152bee6 100644
--- a/vcl/source/filter/wmf/enhwmf.cxx
+++ b/vcl/source/filter/wmf/enhwmf.cxx
@@ -936,7 +936,7 @@ bool EnhWMFReader::ReadEnhWMF()
                         switch( nStyle & 0xF00 )
                         {
                             case PS_ENDCAP_ROUND :
-                                aLineInfo.SetLineCap(
com::sun::star::drawing::LineCap_ROUND );
+                                aLineInfo.SetLineCap(
com::sun::star::drawing::LineCap_BUTT );
                             break;
                             case PS_ENDCAP_SQUARE :
                                 aLineInfo.SetLineCap(
com::sun::star::drawing::LineCap_SQUARE );

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to