Mask layers broken with basic compositor

RESOLVED FIXED in mozilla29

Status

()

Core
Graphics
RESOLVED FIXED
5 years ago
5 years ago

People

(Reporter: mstange, Assigned: mstange)

Tracking

Trunk
mozilla29
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments)

(Assignee)

Description

5 years ago
Created attachment 8348920 [details]
screen capture

STR:

 1. Set layers.acceleration.disable = true and
    layers.offmainthreadcomposition.force-basic = true
 2. Go to the extensions list on about:addons.
 3. Scroll the list.

Stuff isn't erased properly, paints beyond the scroll box's bounds and generally looks broken.
(Assignee)

Comment 1

5 years ago
Created attachment 8349084 [details] [diff] [review]
v1

The existing code ignored aMaskTransform completely. The NS_ASSERTION probably meant to check aMaskTransform but instead checked "matrix", which is the transform from sourceRect to aDestRect.

Scrolling changes the transform that the DrawTarget comes with. aMaskTransform seems to be relative to the window, so it looks like it should ignore any existing transform on the DrawTarget. That's why I replace the transform on the DrawTarget with aMaskTransform. The old transform is still used in the pattern transform.
Assignee: nobody → mstange
Status: NEW → ASSIGNED
Attachment #8349084 - Flags: review?(matt.woodrow)
Attachment #8349084 - Flags: review?(matt.woodrow) → review+
https://hg.mozilla.org/mozilla-central/rev/fff2e3ac46f0
Status: ASSIGNED → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla29
You need to log in before you can comment on or make changes to this bug.