Closed
Bug 1325296
Opened 8 years ago
Closed 8 years ago
RasterImage::LookupFrame does not return a surface if it was created as a result of a sync decode from a FLAG_SYNC_DECODE_IF_FAST
Categories
(Core :: Graphics: ImageLib, defect)
Core
Graphics: ImageLib
Tracking
()
RESOLVED
FIXED
mozilla53
Tracking | Status | |
---|---|---|
firefox53 | --- | fixed |
People
(Reporter: tnikkel, Assigned: tnikkel)
References
Details
Attachments
(1 file)
(deleted),
patch
|
aosmond
:
review+
|
Details | Diff | Splinter Review |
The Decode call may result in synchronously creating the surface, but we only check again if the surface is there for FLAG_SYNC_DECODE, not FLAG_SYNC_DECODE_IF_FAST.
All of the decoding we do during painting is of the type FLAG_SYNC_DECODE_IF_FAST, which means it would be useful to do that decoding synchronously during painting because the paint doesn't benefit from the result of that decoding.
Looking at the history of this code it looks like https://hg.mozilla.org/mozilla-central/rev/435df926eb10 (part 6 of bug 1119774) was where this bug was introduced. Before that changeset we always did another LookupFrameInternal call after the Decode (call WantDecodedFrames back then). But that changeset changed it to only be done for standard sync decodes, not "sync decode if fast".
Found this while investigating try server orange for bug 1317562.
Assignee | ||
Comment 1•8 years ago
|
||
Attachment #8821022 -
Flags: review?(aosmond)
Updated•8 years ago
|
Attachment #8821022 -
Flags: review?(aosmond) → review+
Assignee | ||
Comment 2•8 years ago
|
||
Pushed by tnikkel@gmail.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/b50b2a2b2b6f
RasterImage::LookupFrame does not return a surface if it was created as a result of a sync decode from with the FLAG_SYNC_DECODE_IF_FAST flag. r=aosmond
Comment 4•8 years ago
|
||
bugherder |
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla53
You need to log in
before you can comment on or make changes to this bug.
Description
•