From 44054aca36580440f956f0cbcdd5f31de8e3a7e2 Mon Sep 17 00:00:00 2001 From: Alan Hourihane Date: Thu, 19 Feb 2009 11:01:01 +0000 Subject: egl: error checking --- src/egl/drivers/glx/egl_glx.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/egl/drivers/glx') diff --git a/src/egl/drivers/glx/egl_glx.c b/src/egl/drivers/glx/egl_glx.c index 8ba70ba7a6..72c1eefbc8 100644 --- a/src/egl/drivers/glx/egl_glx.c +++ b/src/egl/drivers/glx/egl_glx.c @@ -277,6 +277,8 @@ get_fbconfig_attribs(Display *dpy, GLXFBConfig fbconfig, /* We don't use the GLX_FBCONFIG_ID here */ glXGetFBConfigAttrib(dpy, fbconfig, GLX_VISUAL_ID, &attribs->id); + if (attribs->id == 0) + return GL_FALSE; #if 0 attribs->depth = vInfo->depth; @@ -344,6 +346,7 @@ create_configs(_EGLDisplay *disp, struct GLX_egl_driver *GLX_drv) int numVisuals; long mask; int i; + int egl_configs = 1; struct visual_attribs attribs; GLX_drv->fbconfigs = NULL; @@ -365,7 +368,7 @@ create_configs(_EGLDisplay *disp, struct GLX_egl_driver *GLX_drv) config = CALLOC_STRUCT(GLX_egl_config); - _eglInitConfig(&config->Base, i+1); + _eglInitConfig(&config->Base, egl_configs++); SET_CONFIG_ATTRIB(&config->Base, EGL_NATIVE_VISUAL_ID, attribs.id); SET_CONFIG_ATTRIB(&config->Base, EGL_BUFFER_SIZE, attribs.bufferSize); SET_CONFIG_ATTRIB(&config->Base, EGL_RED_SIZE, attribs.redSize); @@ -403,7 +406,7 @@ xvisual: config = CALLOC_STRUCT(GLX_egl_config); - _eglInitConfig(&config->Base, i+1); + _eglInitConfig(&config->Base, egl_configs++); SET_CONFIG_ATTRIB(&config->Base, EGL_NATIVE_VISUAL_ID, attribs.id); SET_CONFIG_ATTRIB(&config->Base, EGL_BUFFER_SIZE, attribs.bufferSize); SET_CONFIG_ATTRIB(&config->Base, EGL_RED_SIZE, attribs.redSize); -- cgit v1.2.3