From b8dcc043734269dd70826b2b05e9961f73476d22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Gr=C3=A4=C3=9Flin?= Date: Wed, 20 Feb 2013 08:03:02 +0100 Subject: [PATCH] Do not abort EGL backend creation if EGL_NV_post_sub_buffer isn't supported In case the extension is not present eglQuerySurface returns EGL_FALSE when querying for EGL_POST_SUB_BUFFER_SUPPORTED_NV and sets an EGL_BAD_ATTRIBUTE error state. If this is the case it's not an error we should abort on, but one we should ignore as it's the same as extension not supported. BUG: 315114 FIXED: 4.10.1 --- eglonxbackend.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/eglonxbackend.cpp b/eglonxbackend.cpp index 01d97c0b85..dcb70d82fd 100644 --- a/eglonxbackend.cpp +++ b/eglonxbackend.cpp @@ -118,8 +118,13 @@ bool EglOnXBackend::initRenderingContext() eglSurfaceAttrib(dpy, surface, EGL_SWAP_BEHAVIOR, EGL_BUFFER_PRESERVED); if (eglQuerySurface(dpy, surface, EGL_POST_SUB_BUFFER_SUPPORTED_NV, &surfaceHasSubPost) == EGL_FALSE) { - kError(1212) << "query surface failed"; - return false; + EGLint error = eglGetError(); + if (error != EGL_SUCCESS && error != EGL_BAD_ATTRIBUTE) { + kError(1212) << "query surface failed"; + return false; + } else { + surfaceHasSubPost = EGL_FALSE; + } } const EGLint context_attribs[] = {