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:
parent
9e239a0df7
commit
6558ba4e62
|
@ -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):
|
||||
|
|
17
Xext/sync.c
17
Xext/sync.c
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user