comparison src/audacious/flow.c @ 3563:cc888ce7b6fb trunk

link/unlink fixes
author William Pitcock <nenolod@atheme.org>
date Tue, 18 Sep 2007 13:54:22 -0500
parents 5aec9950c47a
children 6f4068a0f291
comparison
equal deleted inserted replaced
3562:1caa559c5619 3563:cc888ce7b6fb
96 96
97 if (flow->tail) 97 if (flow->tail)
98 flow->tail->next = element; 98 flow->tail->next = element;
99 99
100 flow->tail = element; 100 flow->tail = element;
101
102 if (!flow->head)
103 flow->head = element;
101 } 104 }
102 105
103 /* TBD: unlink all elements of func, or just the first --nenolod */ 106 /* TBD: unlink all elements of func, or just the first --nenolod */
104 void 107 void
105 flow_unlink_element(Flow *flow, FlowFunction func) 108 flow_unlink_element(Flow *flow, FlowFunction func)
115 if (iter->next) 118 if (iter->next)
116 iter->next->prev = iter->prev; 119 iter->next->prev = iter->prev;
117 120
118 iter->prev->next = iter->next; 121 iter->prev->next = iter->next;
119 122
123 if (flow->tail == iter)
124 flow->tail = iter->prev;
125
126 if (flow->head == iter)
127 flow->head = iter->next;
128
120 g_slice_free(FlowElement, iter); 129 g_slice_free(FlowElement, iter);
121 } 130 }
122 } 131 }