summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhenry.uh_chen <henry.uh_chen@htc.com>2014-07-03 18:01:37 +0800
committerChen Henry <henry.uh_chen@htc.com>2014-07-03 10:14:15 +0000
commit3a1bffa835f279628e50385af3c85789bc737f64 (patch)
tree0a3830e1ca97f74265b0f6365a6066d228d66519
parent1dc550fa7333257a130d71866be37181f8ee553b (diff)
downloadbase-3a1bffa835f279628e50385af3c85789bc737f64.tar.gz
[HWUI] Fix invisible views are still shown in popup window
Symptom: Invisible views are still shown in popup window Root Cause: glClear isn't called if there is no draw command Solution: Even if there is no draw command, it still calls glClear by startFrame(). Reproduce steps: App set one view in a popup window to invisible, it will be still visible. Change-Id: I36bc7b752434ad388fbb80ea63341ac778f48d35
-rwxr-xr-x[-rw-r--r--]libs/hwui/OpenGLRenderer.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp
index 4d76bed20424..f0adea9a338d 100644..100755
--- a/libs/hwui/OpenGLRenderer.cpp
+++ b/libs/hwui/OpenGLRenderer.cpp
@@ -2057,7 +2057,9 @@ status_t OpenGLRenderer::drawDisplayList(DisplayList* displayList, Rect& dirty,
return status | deferredList.flush(*this, dirty);
}
- return DrawGlInfo::kStatusDone;
+ // Even if there is no drawing command(Ex: invisible),
+ // it still needs startFrame to clear buffer and start tiling.
+ return startFrame();
}
void OpenGLRenderer::outputDisplayList(DisplayList* displayList) {