diff -r e5af45d51884 -r 31fccae4f8a7 uiacceltk/hitchcock/coretoolkit/rendervg10/src/HuiFxVg10OffscreenRenderbuffer.cpp --- a/uiacceltk/hitchcock/coretoolkit/rendervg10/src/HuiFxVg10OffscreenRenderbuffer.cpp Tue Aug 31 16:07:35 2010 +0300 +++ b/uiacceltk/hitchcock/coretoolkit/rendervg10/src/HuiFxVg10OffscreenRenderbuffer.cpp Wed Sep 01 12:16:53 2010 +0100 @@ -69,13 +69,26 @@ // Create a context iContext = eglCreateContext(iPlugin->EglDisplay(), config, iPlugin->EglSharedContext(), NULL); - ASSERT(iContext); + + if(iContext == EGL_NO_CONTEXT) + { + EGLint err = eglGetError(); + RDebug::Print(_L("CHuiFxVg10OffscreenRenderbuffer::InitializeL() - EGLContext creation failed: EglError -- %04x"), err); + User::Leave(KErrGeneral); + } // Create a pbuffer surface - iSurface = eglCreatePbufferFromClientBuffer(iPlugin->EglDisplay(), EGL_OPENVG_IMAGE, - iImage, config, NULL); - ASSERT(iSurface); - + CHuiVg10RenderPlugin& renderer = CHuiStatic::Vg10Renderer(); + iSurface = renderer.CreatePBufferSurface(iPlugin->EglDisplay(), EGL_OPENVG_IMAGE, + iImage, config); + + if(iSurface == EGL_NO_SURFACE) + { + EGLint err = eglGetError(); + RDebug::Print(_L("CHuiFxVg10OffscreenRenderbuffer::InitializeL() - EGLSurface creation failed: EglError -- %04x"), err); + User::Leave(KErrGeneral); + } + // Initialize the context iGc = iPlugin->CreateGcL(); this->InitGc(aSize);