summaryrefslogtreecommitdiffstats
path: root/libs
diff options
context:
space:
mode:
authorRomain Guy <romainguy@google.com>2011-03-01 14:55:21 -0800
committerRomain Guy <romainguy@google.com>2011-03-01 14:55:21 -0800
commitd643bb56fdf21973ea75984f0816b7dc024698df (patch)
treefa0b758dfebc484db04a7d7f052ac8c961e35b10 /libs
parent321dce646dc3c2ecfbd72a693d8d9294a6119736 (diff)
downloadframeworks_base-d643bb56fdf21973ea75984f0816b7dc024698df.zip
frameworks_base-d643bb56fdf21973ea75984f0816b7dc024698df.tar.gz
frameworks_base-d643bb56fdf21973ea75984f0816b7dc024698df.tar.bz2
Correctly mark layers dirty when drawing WebView.
Change-Id: I7ae0c3cfa0916d8fbeaf01e8da127c621a06a0f4
Diffstat (limited to 'libs')
-rw-r--r--libs/hwui/OpenGLRenderer.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp
index 48b3d6e..361815a 100644
--- a/libs/hwui/OpenGLRenderer.cpp
+++ b/libs/hwui/OpenGLRenderer.cpp
@@ -213,6 +213,17 @@ bool OpenGLRenderer::callDrawGLFunction(Functor *functor) {
if (mDirtyClip) {
setScissorFromClip();
}
+
+#if RENDER_LAYERS_AS_REGIONS
+ // Since we don't know what the functor will draw, let's dirty
+ // tne entire clip region
+ if (hasLayer()) {
+ Rect clip(*mSnapshot->clipRect);
+ clip.snapToPixelBoundaries();
+ dirtyLayerUnchecked(clip, getRegion());
+ }
+#endif
+
status_t result = (*functor)();
resume();
return (result == 0) ? false : true;