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