From: Takashi Iwai Date: Fri, 4 Feb 2005 19:18:49 +0000 (+0000) Subject: Use bag_for_each_safe() for event handling loop X-Git-Tag: v1.0.9rc1~35 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=da5fa1e15c869271d2bb35c93b9c55d3b6288e1a;p=alsa-lib.git Use bag_for_each_safe() for event handling loop Use bag_for_each_safe() for event handling loop. Event callbacks may be destructive. --- diff --git a/src/mixer/mixer.c b/src/mixer/mixer.c index e33e3364..74d1e79d 100644 --- a/src/mixer/mixer.c +++ b/src/mixer/mixer.c @@ -152,8 +152,8 @@ static int hctl_elem_event_handler(snd_hctl_elem_t *helem, } if (mask & (SND_CTL_EVENT_MASK_VALUE | SND_CTL_EVENT_MASK_INFO)) { int err = 0; - bag_iterator_t i; - bag_for_each(i, bag) { + bag_iterator_t i, n; + bag_for_each_safe(i, n, bag) { snd_mixer_elem_t *melem = bag_iterator_entry(i); snd_mixer_class_t *class = melem->class; err = class->event(class, mask, helem, melem);