Fix an infinite loop error that may occur when many contexts are bound

to the same drawable in a multithreading environment. This one slipped out
of the texman merge.
This commit is contained in:
Thomas Hellström
2006-12-01 12:41:43 +00:00
parent 40dc5902d3
commit 682393944c

View File

@@ -411,13 +411,18 @@ __driUtilUpdateDrawableInfo(__DRIdrawablePrivate *pdp)
if (!pcp
|| ((pdp != pcp->driDrawablePriv) && (pdp != pcp->driReadablePriv))) {
/* ERROR!!! */
return;
/* ERROR!!!
* ...but we must ignore it. There can be many contexts bound to a
* drawable.
*/
}
psp = pdp->driScreenPriv;
if (!psp) {
/* ERROR!!! */
_mesa_problem("Warning! Possible infinite loop due to bug "
"in file %s, line %d\n",
__FILE__, __LINE__);
return;
}