From 813e2d22a6441b97d129f2db5b5c19e83aac7f64 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Tue, 30 Jun 2020 20:22:53 +0200 Subject: [PATCH] context: fix sorted insert --- pipewire-pulseaudio/src/context.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/pipewire-pulseaudio/src/context.c b/pipewire-pulseaudio/src/context.c index 466f52670..19bfa7190 100644 --- a/pipewire-pulseaudio/src/context.c +++ b/pipewire-pulseaudio/src/context.c @@ -1104,15 +1104,20 @@ static int set_mask(pa_context *c, struct global *g) static inline void insert_global(pa_context *c, struct global *global) { - struct global *g, *t; + struct global *g; + bool found = false; - spa_list_for_each_safe(g, t, &c->globals, link) { + spa_list_for_each(g, &c->globals, link) { if (g->priority_master < global->priority_master) { g = spa_list_prev(g, link); + found = true; break; } } - spa_list_prepend(&g->link, &global->link); + if (!found) + spa_list_append(&g->link, &global->link); + else + spa_list_prepend(&g->link, &global->link); } static void registry_event_global(void *data, uint32_t id,