From 3bcb08f6c472b3a7cd752c740b3bbe72c90520fd Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Sat, 2 Jan 2010 21:56:13 +0800 Subject: progs: Check the number of configs returned by eglChooseConfig. A successful eglChooseConfig call does not imply there are valid configs. Signed-off-by: Chia-I Wu --- progs/egl/xegl_tri.c | 3 ++- progs/egl/xeglbindtex.c | 6 ++++-- progs/egl/xeglthreads.c | 3 ++- 3 files changed, 8 insertions(+), 4 deletions(-) (limited to 'progs/egl') diff --git a/progs/egl/xegl_tri.c b/progs/egl/xegl_tri.c index 8c4d7f973c..1f1a005a21 100644 --- a/progs/egl/xegl_tri.c +++ b/progs/egl/xegl_tri.c @@ -139,7 +139,8 @@ make_x_window(Display *x_dpy, EGLDisplay egl_dpy, scrnum = DefaultScreen( x_dpy ); root = RootWindow( x_dpy, scrnum ); - if (!eglChooseConfig( egl_dpy, attribs, &config, 1, &num_configs)) { + if (!eglChooseConfig( egl_dpy, attribs, &config, 1, &num_configs) || + !num_configs) { printf("Error: couldn't get an EGL visual config\n"); exit(1); } diff --git a/progs/egl/xeglbindtex.c b/progs/egl/xeglbindtex.c index 8103a6a148..7e35534f8d 100644 --- a/progs/egl/xeglbindtex.c +++ b/progs/egl/xeglbindtex.c @@ -66,7 +66,8 @@ make_pbuffer(int width, int height) EGLConfig config; EGLint num_configs; - if (!eglChooseConfig(dpy, config_attribs, &config, 1, &num_configs)) { + if (!eglChooseConfig(dpy, config_attribs, &config, 1, &num_configs) || + !num_configs) { printf("Error: couldn't get an EGL visual config for pbuffer\n"); exit(1); } @@ -144,7 +145,8 @@ make_window(Display *x_dpy, const char *name, scrnum = DefaultScreen( x_dpy ); root = RootWindow( x_dpy, scrnum ); - if (!eglChooseConfig(dpy, attribs, &config, 1, &num_configs)) { + if (!eglChooseConfig(dpy, attribs, &config, 1, &num_configs) || + !num_configs) { printf("Error: couldn't get an EGL visual config\n"); exit(1); } diff --git a/progs/egl/xeglthreads.c b/progs/egl/xeglthreads.c index 7d056ebc6f..5787faecb9 100644 --- a/progs/egl/xeglthreads.c +++ b/progs/egl/xeglthreads.c @@ -485,7 +485,8 @@ create_window(struct winthread *wt, EGLContext shareCtx) scrnum = DefaultScreen(wt->Dpy); root = RootWindow(wt->Dpy, scrnum); - if (!eglChooseConfig(wt->Display, attribs, &config, 1, &num_configs)) { + if (!eglChooseConfig(wt->Display, attribs, &config, 1, &num_configs) || + !num_configs) { Error("Unable to choose an EGL config"); } -- cgit v1.2.3