From f653b897a449e10d6cbfb6e0812f7b0bb02d6482 Mon Sep 17 00:00:00 2001 From: Mathias Agopian Date: Thu, 16 Dec 2010 18:46:17 -0800 Subject: fix a small bug that caused screenshot to show garbage in some cases we were not clearing the screen entirely, which caused garbage when the screen wasn't entirely covered by windows. Change-Id: Ie9ab9b94eabfa6cafddf45bb14bc733bdc8d35c0 --- services/surfaceflinger/SurfaceFlinger.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index 7c4790f80c..825d90b7d6 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -2123,6 +2123,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(); @@ -2132,6 +2133,7 @@ status_t SurfaceFlinger::captureScreenImplLocked(DisplayID dpy, // redraw the screen entirely... glClearColor(0,0,0,1); glClear(GL_COLOR_BUFFER_BIT); + const Vector< sp >& layers(mVisibleLayersSortedByZ); const size_t count = layers.size(); for (size_t i=0 ; i