Closed
Bug 1067190
Opened 10 years ago
Closed 8 years ago
Gracefully handle invalid matrices in the GFX backend
Categories
(Firefox Graveyard :: Shumway, defect, P2)
Firefox Graveyard
Shumway
Tracking
(Not tracked)
RESOLVED
INCOMPLETE
People
(Reporter: till, Assigned: mbx)
References
()
Details
Attachments
(1 file)
86 bytes,
application/x-shockwave-flash
|
Details |
In github issue #1682, the problem is that a shape (the first one, with ID 1) contains a matrix with all fields 0. SVGMatrix throws an exception when calling .inverse() in the CanvasRenderingContext2D#fill polyfill. I guess we'll have to try/catch that error - or calculate the matrix's determinant ourselves. The question is what to do with non-invertible matrices. Do we just pretend they're identity matrices, or fall back to a plain-color fill?
Reporter | ||
Comment 1•10 years ago
|
||
Created PR #1714[1] with a WIP fix. That works insofar as it makes the SWF in #1682 functionally work. It's not correct, though: Flash seems to be using a matrix that scales the gradient up tremendously, causing only a tiny part of it to be displayed. Attached is a SWF with an example gradient. Decompiling it with swfmill and testing various values for the positions and colors of the GradientItems is pretty interesting. mbx, maybe you have an idea what's going on here. [1]: https://github.com/mozilla/shumway/pull/1714
Flags: needinfo?(mbebenita)
Updated•10 years ago
|
Updated•10 years ago
|
Reporter | ||
Comment 2•9 years ago
|
||
What we have now seems to work pretty well, so we don't need to revisit this for our initial release.
Flags: needinfo?(mbebenita)
Updated•8 years ago
|
Product: Firefox → Firefox Graveyard
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → INCOMPLETE
You need to log in
before you can comment on or make changes to this bug.
Description
•