diff options
author | Mathias Agopian <mathias@google.com> | 2010-12-16 18:46:17 -0800 |
---|---|---|
committer | Mathias Agopian <mathias@google.com> | 2011-01-25 14:18:58 -0800 |
commit | 8aa11d82f33be8089a53feb3ba3c40fd8a33ad95 (patch) | |
tree | c29f00cc241a54b4f1eba03cdf23aab6982057a7 /services/surfaceflinger | |
parent | 84c6f5a44c431a36a9e4395a7e23ab26480ba689 (diff) | |
download | frameworks_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/surfaceflinger')
-rw-r--r-- | services/surfaceflinger/SurfaceFlinger.cpp | 3 |
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); |