Fri May 12 17:51:26 2006 Søren Sandmann <sandmann@redhat.com>

Keep track of the previous item and update its next pointer when deleting
    from the linked list.
This commit is contained in:
Søren Sandmann Pedersen 2006-05-12 21:53:28 +00:00
parent 9e239a0df7
commit 6558ba4e62
2 changed files with 20 additions and 3 deletions

View File

@ -1,3 +1,9 @@
Fri May 12 17:51:26 2006 Søren Sandmann <sandmann@redhat.com>
* Xext/sync.c (SyncDeleteTriggerFromCounter): Keep track of the
previous item and update its next pointer when deleting from the
linked list.
2006-05-11 Matthias Hopf <mhopf@suse.de>
* fb/fbpict.c: (fbComposite):

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);
}