summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorMathias Agopian <mathias@google.com>2010-12-16 18:46:17 -0800
committerMathias Agopian <mathias@google.com>2011-01-25 14:18:58 -0800
commit8aa11d82f33be8089a53feb3ba3c40fd8a33ad95 (patch)
treec29f00cc241a54b4f1eba03cdf23aab6982057a7 /services
parent84c6f5a44c431a36a9e4395a7e23ab26480ba689 (diff)
downloadframeworks_base-8aa11d82f33be8089a53feb3ba3c40fd8a33ad95.zip
frameworks_base-8aa11d82f33be8089a53feb3ba3c40fd8a33ad95.tar.gz
frameworks_base-8aa11d82f33be8089a53feb3ba3c40fd8a33ad95.tar.bz2
fix a small bug that caused screenshot to show garbage in some cases (DO NOT MERGE)
we were not clearing the screen entirely, which caused garbage when the screen wasn't entirely covered by windows. Change-Id: Ia7aa13c36a8a314e0e8427d419b16b9aa2165ddf
Diffstat (limited to 'services')
-rw-r--r--services/surfaceflinger/SurfaceFlinger.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index 664e5ad..50f4914 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -2114,6 +2114,7 @@ status_t SurfaceFlinger::captureScreenImplLocked(DisplayID dpy,
// invert everything, b/c glReadPixel() below will invert the FB
glViewport(0, 0, sw, sh);
+ glScissor(0, 0, sw, sh);
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadIdentity();
@@ -2123,6 +2124,7 @@ status_t SurfaceFlinger::captureScreenImplLocked(DisplayID dpy,
// redraw the screen entirely...
glClearColor(0,0,0,1);
glClear(GL_COLOR_BUFFER_BIT);
+
const Vector< sp<LayerBase> >& layers(mVisibleLayersSortedByZ);
const size_t count = layers.size();
for (size_t i=0 ; i<count ; ++i) {
@@ -2157,7 +2159,6 @@ status_t SurfaceFlinger::captureScreenImplLocked(DisplayID dpy,
result = NO_MEMORY;
}
}
-
glEnable(GL_SCISSOR_TEST);
glViewport(0, 0, hw_w, hw_h);
glMatrixMode(GL_PROJECTION);