diff options
Diffstat (limited to 'libs/hwui/StatefulBaseRenderer.cpp')
-rw-r--r-- | libs/hwui/StatefulBaseRenderer.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/libs/hwui/StatefulBaseRenderer.cpp b/libs/hwui/StatefulBaseRenderer.cpp index 12b8c8db28ea..88d6f6802909 100644 --- a/libs/hwui/StatefulBaseRenderer.cpp +++ b/libs/hwui/StatefulBaseRenderer.cpp @@ -49,6 +49,13 @@ void StatefulBaseRenderer::setViewport(int width, int height) { mHeight = height; mFirstSnapshot->initializeViewport(width, height); onViewportInitialized(); + + // create a temporary 1st snapshot, so old snapshots are released, + // and viewport can be queried safely. + // TODO: remove, combine viewport + save stack initialization + mSnapshot = new Snapshot(mFirstSnapshot, + SkCanvas::kMatrix_SaveFlag | SkCanvas::kClip_SaveFlag); + mSaveCount = 1; } /////////////////////////////////////////////////////////////////////////////// |