Bug 1186264 - Add error check to GrallocTextureHostOGL::GetAsSurface() r=nical

This commit is contained in:
Sotaro Ikeda
2015-07-30 14:43:59 -07:00
parent e49ca0a269
commit e49d30bb24

View File

@@ -238,11 +238,18 @@ GrallocTextureHostOGL::GetAsSurface() {
return nullptr;
}
uint8_t* grallocData;
graphicBuffer->lock(GRALLOC_USAGE_SW_READ_OFTEN, reinterpret_cast<void**>(&grallocData));
int32_t rv = graphicBuffer->lock(GRALLOC_USAGE_SW_READ_OFTEN, reinterpret_cast<void**>(&grallocData));
if (rv) {
return nullptr;
}
RefPtr<gfx::DataSourceSurface> grallocTempSurf =
gfx::Factory::CreateWrappingDataSourceSurface(grallocData,
graphicBuffer->getStride() * android::bytesPerPixel(graphicBuffer->getPixelFormat()),
GetSize(), GetFormat());
if (!grallocTempSurf) {
graphicBuffer->unlock();
return nullptr;
}
RefPtr<gfx::DataSourceSurface> surf = CreateDataSourceSurfaceByCloning(grallocTempSurf);
graphicBuffer->unlock();