summaryrefslogtreecommitdiff
path: root/src/egl/main/egldisplay.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/egl/main/egldisplay.c')
-rw-r--r--src/egl/main/egldisplay.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/egl/main/egldisplay.c b/src/egl/main/egldisplay.c
index ba7e634c9d..0693f258de 100644
--- a/src/egl/main/egldisplay.c
+++ b/src/egl/main/egldisplay.c
@@ -40,7 +40,6 @@ _eglFiniDisplay(void)
if (dpy->ContextList || dpy->SurfaceList)
_eglLog(_EGL_DEBUG, "Display %u is destroyed with resources", key);
- _eglCleanupDisplay(dpy);
free(dpy);
key = _eglHashNextEntry(_eglDisplayHash, key);
@@ -237,11 +236,13 @@ _eglCleanupDisplay(_EGLDisplay *disp)
{
EGLint i;
- for (i = 0; i < disp->NumConfigs; i++) {
- free(disp->Configs[i]);
+ if (disp->Configs) {
+ for (i = 0; i < disp->NumConfigs; i++)
+ free(disp->Configs[i]);
+ free(disp->Configs);
+ disp->Configs = NULL;
+ disp->NumConfigs = 0;
}
- free(disp->Configs);
- disp->Configs = NULL;
/* XXX incomplete */
}