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> | 2006-05-11  Matthias Hopf  <mhopf@suse.de> | ||||||
| 
 | 
 | ||||||
| 	* fb/fbpict.c: (fbComposite): | 	* fb/fbpict.c: (fbComposite): | ||||||
|  |  | ||||||
							
								
								
									
										17
									
								
								Xext/sync.c
								
								
								
								
							
							
						
						
									
										17
									
								
								Xext/sync.c
								
								
								
								
							|  | @ -302,22 +302,33 @@ SyncDeleteTriggerFromCounter(pTrigger) | ||||||
|     SyncTrigger *pTrigger; |     SyncTrigger *pTrigger; | ||||||
| { | { | ||||||
|     SyncTriggerList *pCur; |     SyncTriggerList *pCur; | ||||||
|  |     SyncTriggerList *pPrev; | ||||||
| 
 | 
 | ||||||
|     /* pCounter needs to be stored in pTrigger before calling here. */ |     /* pCounter needs to be stored in pTrigger before calling here. */ | ||||||
| 
 | 
 | ||||||
|     if (!pTrigger->pCounter) |     if (!pTrigger->pCounter) | ||||||
| 	return; | 	return; | ||||||
| 
 | 
 | ||||||
|     for (pCur = pTrigger->pCounter->pTriglist; pCur; pCur = pCur->next) |     pPrev = NULL; | ||||||
|  |     pCur = pTrigger->pCounter->pTriglist; | ||||||
|  | 
 | ||||||
|  |     while (pCur) | ||||||
|     { |     { | ||||||
| 	if (pCur->pTrigger == pTrigger) | 	if (pCur->pTrigger == pTrigger) | ||||||
| 	{ | 	{ | ||||||
| 	    pTrigger->pCounter->pTriglist = pCur->next; | 	    if (pPrev) | ||||||
|  | 		pPrev->next = pCur->next; | ||||||
|  | 	    else | ||||||
|  | 		pTrigger->pCounter->pTriglist = pCur->next; | ||||||
|  | 	     | ||||||
| 	    xfree(pCur); | 	    xfree(pCur); | ||||||
| 	    break; | 	    break; | ||||||
| 	} | 	} | ||||||
|  | 	 | ||||||
|  | 	pPrev = pCur; | ||||||
|  | 	pCur = pCur->next; | ||||||
|     } |     } | ||||||
| 
 |      | ||||||
|     if (IsSystemCounter(pTrigger->pCounter)) |     if (IsSystemCounter(pTrigger->pCounter)) | ||||||
| 	SyncComputeBracketValues(pTrigger->pCounter, /*startOver*/ TRUE); | 	SyncComputeBracketValues(pTrigger->pCounter, /*startOver*/ TRUE); | ||||||
| } | } | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue