https://issues.apache.org/ooo/show_bug.cgi?id=125211

Armin Le Grand <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ACCEPTED
           Assignee|[email protected] |[email protected]
                   |g                           |
   Target Milestone|---                         |4.2.0
     Ever confirmed|0                           |1

--- Comment #3 from Armin Le Grand <[email protected]> ---
This a surprising error; it's an ages-old error in the metafile importer
(ImpSdrGDIMetaFileImport). The cases where a gradient is to be set at an
SdrObject the FillStyle is simply set *wrong* to XFILL_HATCH instead of
XFILL_GRADIENT. I wonder that this was never detected earlier, sigh.
The next problem is that indeed 5 objects get created
- GradientA
- GradientB
- black-filled rectangle
- GradientC
- outline
This is because in the old days of VCL the gradients were painted by drawing
the unmasked gradient (GradientB), XORing with black mask (black-filled
rectangle) and painting the gradient again XORed (GradientC). Also a GradientEx
action is in front of these (GradientA).
Additionally all this is bracketed with two comment actions of type
'XGRAD_SEQ_BEGIN/XGRAD_SEQ_END' which the importer tries to use in DoAction(
MetaCommentAction& rAct, ...), but this goes wrong since it implies that the
Next() mechanism at the metafile action list (from tools) is used which is not
the case.
When correcting all this only one error remains: The object filled with the
gradient has an outline. This happens due to the SfxItemSet being created to
hold the attributes has no WhichID for XLineStyleItem, so setting this item at
it just goes wrong. Changed that to use the SfxItemSet range from the target
object, this cannot fail.
Checking with these changes again (and doing some more tests)...

-- 
You are receiving this mail because:
You are the assignee for the issue.
You are watching all issue changes.

Reply via email to