Merge branch 'mesa_7_7_branch'
[mesa.git] / src / egl / main / egldisplay.c
index 359900ca2f2925d90d04b3d9d7e6055c97e4f1c6..b53cc597132cc35ecd691a5cc7e688bade9b1548 100644 (file)
@@ -180,6 +180,7 @@ _eglCleanupDisplay(_EGLDisplay *disp)
       free(disp->Configs);
       disp->Configs = NULL;
       disp->NumConfigs = 0;
+      disp->MaxConfigs = 0;
    }
 
    /* XXX incomplete */
@@ -242,7 +243,10 @@ _eglCheckResource(void *res, _EGLResourceType type, _EGLDisplay *dpy)
 void
 _eglLinkResource(_EGLResource *res, _EGLResourceType type, _EGLDisplay *dpy)
 {
+   assert(!res->Display || res->Display == dpy);
+
    res->Display = dpy;
+   res->IsLinked = EGL_TRUE;
    res->Next = dpy->ResourceLists[type];
    dpy->ResourceLists[type] = res;
 }
@@ -271,5 +275,6 @@ _eglUnlinkResource(_EGLResource *res, _EGLResourceType type)
    }
 
    res->Next = NULL;
-   res->Display = NULL;
+   /* do not reset res->Display */
+   res->IsLinked = EGL_FALSE;
 }