Page MenuHomePhabricator

librsvg mishandles linear fills in rotated user coordinate system
Open, Needs TriagePublicBUG REPORT

Description

Steps to Reproduce:
Make a linearGradient element that works for translated user coordinate systems with the default gradientUnits="objectBoundingBox".

Then try the linear gradient in a rotated user space.

See https://commons.wikimedia.org/wiki/File:SVG_Gradient.svg.

Actual Results:
The bottom three rotated rectangles of the image all show gradient fills, but the three rectangles are not identical.

Expected Results:
The bottom three rectangles should be identical.

The leftmost bottom rectangle is correct but was done with gradientUnits="userSpaceOnUse".

The two rectangles to its right use objectBoundingBox and do not match. They do not have a white edge on the southeast.

Event Timeline

Glrx created this task.Jul 17 2019, 6:30 PM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptJul 17 2019, 6:30 PM

Confirming still on librsvg2-2.45.6 - feel free to upstream to https://gitlab.gnome.org/GNOME/librsvg/issues/new

Glrx added a comment.Jul 18 2019, 3:49 PM

https://gitlab.gnome.org/GNOME/librsvg/issues/48 GNOME 48 "[BZ#641823] transform="rotate(x)" causes incorrect gradient rendering."

Aklapper moved this task from Backlog to Reported Upstream on the Upstream board.Jul 18 2019, 4:21 PM