Abort surface composition if hw surface is invalid

If an invalid display device is detected during surface composition
(e.g., a simulated secondary display is removed), abort the
composition.

Change-Id: Ia6afb2e287882d8ae0614eb25463d3f85b687adf
This commit is contained in:
Michael Chock 2013-03-04 15:15:46 -08:00
parent 906bd0422a
commit c8c7109619

View File

@ -1520,7 +1520,11 @@ void SurfaceFlinger::doComposeSurfaces(const sp<const DisplayDevice>& hw, const
const bool hasGlesComposition = hwc.hasGlesComposition(id) || (cur==end);
if (hasGlesComposition) {
DisplayDevice::makeCurrent(mEGLDisplay, hw, mEGLContext);
if (!DisplayDevice::makeCurrent(mEGLDisplay, hw, mEGLContext)) {
ALOGW("DisplayDevice::makeCurrent failed. Aborting surface composition for display %s",
hw->getDisplayName().string());
return;
}
// set the frame buffer
glMatrixMode(GL_MODELVIEW);