st/egl: Fix eglChooseConfig when configs is NULL.
authorChia-I Wu <olv@lunarg.com>
Sun, 26 Dec 2010 15:34:57 +0000 (23:34 +0800)
committerChia-I Wu <olv@lunarg.com>
Sun, 26 Dec 2010 15:35:50 +0000 (23:35 +0800)
When configs is NULL, the app wants to know the number of matching
configs.

src/gallium/state_trackers/egl/common/egl_g3d_api.c

index bce901ac9a95ae70fe037752bcc579a54dd7ca44..c9f94a3c498a83fe6db188ee36f79f848fe144f3 100644 (file)
@@ -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;
 }