Bug 1376859 - Update DrawTargetCapture's current transform during recording SetTransform. r=dvander
authorMason Chang <mchang@mozilla.com>
Wed, 28 Jun 2017 15:22:59 -0700
changeset 366444 9827df64042397f69676ac49790fdfea0a1d0969
parent 366443 af66c0b948814ad0283c57533861d8c63cb14352
child 366445 0d961ec8015a554cc252dfe7611174fc96b2de8b
push id91972
push usermchang@mozilla.com
push dateWed, 28 Jun 2017 22:23:31 +0000
treeherdermozilla-inbound@9827df640423 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersdvander
bugs1376859
milestone56.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1376859 - Update DrawTargetCapture's current transform during recording SetTransform. r=dvander
gfx/2d/DrawTargetCapture.cpp
--- a/gfx/2d/DrawTargetCapture.cpp
+++ b/gfx/2d/DrawTargetCapture.cpp
@@ -199,16 +199,21 @@ DrawTargetCaptureImpl::PopClip()
 {
   AppendCommand(PopClipCommand)();
 }
 
 void
 DrawTargetCaptureImpl::SetTransform(const Matrix& aTransform)
 {
   AppendCommand(SetTransformCommand)(aTransform);
+
+  // Have to update the transform for this DT
+  // because some code paths query the current transform
+  // to render specific things.
+  DrawTarget::SetTransform(aTransform);
 }
 
 void
 DrawTargetCaptureImpl::ReplayToDrawTarget(DrawTarget* aDT, const Matrix& aTransform)
 {
   uint8_t* start = &mDrawCommandStorage.front();
 
   uint8_t* current = start;