From 550cdda790c12e9f9a439c1e83df555e20b0eb2b Mon Sep 17 00:00:00 2001 From: Vincent Lin Date: Thu, 12 Sep 2013 10:07:53 +0800 Subject: [PATCH] Bug 915487 - Error handling for GonkDisplayJB. r=mwu --- widget/gonk/libdisplay/GonkDisplayJB.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/widget/gonk/libdisplay/GonkDisplayJB.cpp b/widget/gonk/libdisplay/GonkDisplayJB.cpp index dd9a362d958b..8cef8b0fd368 100644 --- a/widget/gonk/libdisplay/GonkDisplayJB.cpp +++ b/widget/gonk/libdisplay/GonkDisplayJB.cpp @@ -50,10 +50,10 @@ GonkDisplayJB::GonkDisplayJB() ALOGW_IF(err, "could not open framebuffer"); } - if (!err) { + if (!err && mFBDevice) { mWidth = mFBDevice->width; - mHeight = mFBDevice->height; - xdpi = mFBDevice->xdpi; + mHeight = mFBDevice->height; + xdpi = mFBDevice->xdpi; /* The emulator actually reports RGBA_8888, but EGL doesn't return * any matching configuration. We force RGBX here to fix it. */ surfaceformat = HAL_PIXEL_FORMAT_RGBX_8888; @@ -116,7 +116,10 @@ GonkDisplayJB::GonkDisplayJB() status_t error; mBootAnimBuffer = mAlloc->createGraphicBuffer(mWidth, mHeight, surfaceformat, GRALLOC_USAGE_HW_FB | GRALLOC_USAGE_HW_RENDER | GRALLOC_USAGE_HW_COMPOSER, &error); - StartBootAnimation(); + if (error == NO_ERROR && mBootAnimBuffer.get()) + StartBootAnimation(); + else + ALOGW("Couldn't show bootanimation (%s)", strerror(-error)); } GonkDisplayJB::~GonkDisplayJB()