From 29254b688a4ee939cb4c51132ce0372d2ddb0899 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Mon, 4 Nov 2019 16:40:28 +0100 Subject: [PATCH] pulse: fix list_prev --- pipewire-pulseaudio/src/context.c | 2 +- spa/include/spa/utils/list.h | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/pipewire-pulseaudio/src/context.c b/pipewire-pulseaudio/src/context.c index 969803285..ac4ae727f 100644 --- a/pipewire-pulseaudio/src/context.c +++ b/pipewire-pulseaudio/src/context.c @@ -673,7 +673,7 @@ static inline void insert_global(pa_context *c, struct global *global) spa_list_for_each_safe(g, t, &c->globals, link) { if (g->priority_master < global->priority_master) { - g = g->link.prev; + g = spa_list_prev(g, link); break; } } diff --git a/spa/include/spa/utils/list.h b/spa/include/spa/utils/list.h index 88029e93e..8f0cce7c7 100644 --- a/spa/include/spa/utils/list.h +++ b/spa/include/spa/utils/list.h @@ -85,6 +85,9 @@ static inline void spa_list_remove(struct spa_list *elem) #define spa_list_next(pos, member) \ SPA_CONTAINER_OF((pos)->member.next, __typeof__(*pos), member) +#define spa_list_prev(pos, member) \ + SPA_CONTAINER_OF((pos)->member.prev, __typeof__(*pos), member) + #define spa_list_consume(pos, head, member) \ for (pos = spa_list_first(head, __typeof__(*pos), member); \ !spa_list_is_empty(head); \