diff options
author | 2014-09-18 16:05:35 -0700 | |
---|---|---|
committer | 2014-09-18 16:05:35 -0700 | |
commit | 284b24358410cb0200e525a5ba36994090c83f20 (patch) | |
tree | 6251ddc72a3e29f68a94159b89539acf90b30a5a /libs/hwui/StatefulBaseRenderer.cpp | |
parent | c1e1550bf489b5fafff70154232c24bc5026b7df (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.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; } /////////////////////////////////////////////////////////////////////////////// |