summaryrefslogtreecommitdiff
path: root/libs/hwui/StatefulBaseRenderer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libs/hwui/StatefulBaseRenderer.cpp')
-rw-r--r--libs/hwui/StatefulBaseRenderer.cpp7
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;
}
///////////////////////////////////////////////////////////////////////////////