diff options
author | henry.uh_chen <henry.uh_chen@htc.com> | 2014-07-03 18:01:37 +0800 |
---|---|---|
committer | Chen Henry <henry.uh_chen@htc.com> | 2014-07-03 10:14:15 +0000 |
commit | 3a1bffa835f279628e50385af3c85789bc737f64 (patch) | |
tree | 0a3830e1ca97f74265b0f6365a6066d228d66519 | |
parent | 1dc550fa7333257a130d71866be37181f8ee553b (diff) | |
download | base-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.cpp | 4 |
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) { |