Commit 88c6d9a1 authored by Jeff Muizelaar's avatar Jeff Muizelaar
Browse files

Bug 1587210. Always clear mInvalidRect. r=mstange

In the future mInvalidRect and some other state should move out of DIGroup
and into a non-persistant struct that's only used during Group building.
This will allow us to completely avoid errors like this.

Differential Revision: https://phabricator.services.mozilla.com/D48706

--HG--
extra : moz-landing-system : lando
parent e621c66d
......@@ -731,7 +731,6 @@ struct DIGroup {
}
}
mFonts = std::move(fonts);
mInvalidRect.SetEmpty();
aResources.SetBlobImageVisibleArea(
mKey.value().second(),
ViewAs<ImagePixel>(mVisibleRect, PixelCastJustification::LayerIsImage));
......@@ -1217,6 +1216,8 @@ void Grouper::ConstructGroups(nsDisplayListBuilder* aDisplayListBuilder,
aCommandBuilder->CreateOrRecycleWebRenderUserData<WebRenderGroupData>(
item, aBuilder.GetRenderRoot());
groupData->mFollowingGroup.mInvalidRect.SetEmpty();
// Initialize groupData->mFollowingGroup with data from currentGroup.
// We want to copy out this information before calling EndGroup because
// EndGroup will set mLastVisibleRect depending on whether
......@@ -1481,6 +1482,8 @@ void WebRenderCommandBuilder::DoGroupingForDisplayList(
GP("Inherrited scale %f %f\n", scale.width, scale.height);
GP("Bounds: %d %d %d %d vs %d %d %d %d\n", p.x, p.y, p.width, p.height, q.x,
q.y, q.width, q.height);
group.mInvalidRect.SetEmpty();
if (group.mAppUnitsPerDevPixel != appUnitsPerDevPixel ||
group.mScale != scale || group.mResidualOffset != residualOffset) {
GP("Property change. Deleting blob\n");
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment