Bug #6903: Fix a crash in the Sync extension. (Søren Sandmann)

This commit is contained in:
Adam Jackson 2006-05-15 17:56:47 +00:00
parent 7dfd0bee62
commit 1a628eabaf
2 changed files with 19 additions and 3 deletions

View file

@ -1,3 +1,8 @@
2006-05-15 Adam Jackson <ajax@freedesktop.org>
* Xext/sync.c:
Bug #6903: Fix a crash in the Sync extension. (Søren Sandmann)
2006-05-15 Adam Jackson <ajax@freedesktop.org>
* configure.ac:

View file

@ -302,22 +302,33 @@ SyncDeleteTriggerFromCounter(pTrigger)
SyncTrigger *pTrigger;
{
SyncTriggerList *pCur;
SyncTriggerList *pPrev;
/* pCounter needs to be stored in pTrigger before calling here. */
if (!pTrigger->pCounter)
return;
for (pCur = pTrigger->pCounter->pTriglist; pCur; pCur = pCur->next)
pPrev = NULL;
pCur = pTrigger->pCounter->pTriglist;
while (pCur)
{
if (pCur->pTrigger == pTrigger)
{
pTrigger->pCounter->pTriglist = pCur->next;
if (pPrev)
pPrev->next = pCur->next;
else
pTrigger->pCounter->pTriglist = pCur->next;
xfree(pCur);
break;
}
pPrev = pCur;
pCur = pCur->next;
}
if (IsSystemCounter(pTrigger->pCounter))
SyncComputeBracketValues(pTrigger->pCounter, /*startOver*/ TRUE);
}