From e85c6885e7f44d35248281c867e16be8a3fb97f1 Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Sat, 21 Oct 2017 02:43:20 +0200 Subject: Xext: lift sync.c to xorg-xserver-7.1/1.1 state --- nx-X11/programs/Xserver/Xext/sync.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'nx-X11/programs') diff --git a/nx-X11/programs/Xserver/Xext/sync.c b/nx-X11/programs/Xserver/Xext/sync.c index 7fa6145a6..48b142f82 100644 --- a/nx-X11/programs/Xserver/Xext/sync.c +++ b/nx-X11/programs/Xserver/Xext/sync.c @@ -296,14 +296,18 @@ static void SyncDeleteTriggerFromCounter(pTrigger) SyncTrigger *pTrigger; { - SyncTriggerList *pCur, *pPrev = NULL; + 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) { @@ -311,9 +315,14 @@ SyncDeleteTriggerFromCounter(pTrigger) pPrev->next = pCur->next; else pTrigger->pCounter->pTriglist = pCur->next; + + xfree(pCur); free(pCur); break; } + + pPrev = pCur; + pCur = pCur->next; } if (IsSystemCounter(pTrigger->pCounter)) -- cgit v1.2.3