summaryrefslogtreecommitdiff
path: root/libs/hwui/StatefulBaseRenderer.cpp
diff options
context:
space:
mode:
author Chris Craik <ccraik@google.com> 2014-09-18 16:05:35 -0700
committer Chris Craik <ccraik@google.com> 2014-09-18 16:05:35 -0700
commit284b24358410cb0200e525a5ba36994090c83f20 (patch)
tree6251ddc72a3e29f68a94159b89539acf90b30a5a /libs/hwui/StatefulBaseRenderer.cpp
parentc1e1550bf489b5fafff70154232c24bc5026b7df (diff)
Fix garbage showing up beneath dialogs
bug:17463894 Fixes the setViewport method to immediately affect the return values of getViewportWidth/Height methods. Also works around tiling extension issues observed on first frame after window resize by disabling tiling for that frame. Change-Id: Ie172d572d20d74a1be9cc58ad389af2cffa0e4b6
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;
}
///////////////////////////////////////////////////////////////////////////////