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

--- Comment #3 from Roland Baudin <[email protected]> ---
I did some investigations with the faulty patch. For that, I added a more
interesting example document for Impress, that is impress-test.odp.

In that document, I simply inserted the SVG image lines.svg (produced using
Inkscape) that contains a line with a solid part and a dash part.

Looking at the patch
https://git.libreoffice.org/core/commit/b71d9a6d15cfb8a50afdea5ac064f40d84c561f8,
I found the following:


1. In Impress, opening impress-test.odp and breaking the line makes the dashed
part solid.

Looking at the patch (the vclmetafileprocessor2d.c part), we see that the
graphic object is analyzed in processPolygonStrokePrimitive2D() and the
LineInfo structure is set up with dash properties.

A comment in the patch says for the LineInfo structure that "// This will be
used by setupStrokeAttributes() in cppcanvas."

But setupStrokeAttributes() in implrenderer.cxx is not called. So the line
dashing is not done.


2. In Impress, opening impress-test.odp and doing Slideshow / Start From First
Slide makes the dashed part of the line correctly appearing as dashed. This was
indeed the purpose of the patch to fix the issue with wrong line dashing in
slideshow mode (see bug #136957).

In that case, I found that processPolygonStrokePrimitive2D() is also called and
the LineInfo structure is set with dash properties. But now,
setupStrokeAttributes() in implrenderer.cxx is called, and the line dashing is
correctly done.


So, to sum up:

- when breaking / converting a dashed line (from an SVG imported image)
setupStrokeAttributes() is not called and dashed lines are rendered as solid

- when showing the SVG imported image in a slideshow setupStrokeAttributes() is
called and dashed lines are correctly rendered


I don't have the skills to fix the bug myself, but perhaps these findings could
help some developer to fix it?

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to