From: Chia-I Wu Date: Sun, 26 Dec 2010 15:34:57 +0000 (+0800) Subject: st/egl: Fix eglChooseConfig when configs is NULL. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9f2062fb12aa4e0d69583e88e70080efe70e1967;p=mesa.git st/egl: Fix eglChooseConfig when configs is NULL. When configs is NULL, the app wants to know the number of matching configs. --- diff --git a/src/gallium/state_trackers/egl/common/egl_g3d_api.c b/src/gallium/state_trackers/egl/common/egl_g3d_api.c index bce901ac9a9..c9f94a3c498 100644 --- a/src/gallium/state_trackers/egl/common/egl_g3d_api.c +++ b/src/gallium/state_trackers/egl/common/egl_g3d_api.c @@ -158,17 +158,17 @@ egl_g3d_choose_config(_EGLDriver *drv, _EGLDisplay *dpy, const EGLint *attribs, (_EGLArrayForEach) egl_g3d_match_config, (void *) &criteria); /* perform sorting of configs */ - if (tmp_configs && tmp_size) { + if (configs && tmp_size) { _eglSortConfigs((const _EGLConfig **) tmp_configs, tmp_size, egl_g3d_compare_config, (void *) &criteria); - size = MIN2(tmp_size, size); - for (i = 0; i < size; i++) + tmp_size = MIN2(tmp_size, size); + for (i = 0; i < tmp_size; i++) configs[i] = _eglGetConfigHandle(tmp_configs[i]); } FREE(tmp_configs); - *num_configs = size; + *num_configs = tmp_size; return EGL_TRUE; }