summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Vlad <marius.vlad@collabora.com>2023-02-16 21:34:04 +0200
committerMarius Vlad <marius.vlad@collabora.com>2023-05-16 10:44:25 +0300
commiteaa777b914bfb15c4c5a332ab1cc0216530a1087 (patch)
tree69fe4cb4e57b05c5669b3f8049cd92ea34d4b2c4
parent17f5a44f3b992fc6f38fb055f09aaedadbecf893 (diff)
downloadweston-eaa777b914bfb15c4c5a332ab1cc0216530a1087.tar.gz
pipewire: Follow-up with remoting pluging when releasing the head
Similarily to what the remoting plug-in does, explicitly call weston_release_head() before removing the output list entry. We do that to avoid lookup_pipewire_output() returning NULL and still find out the pipewire_output. Signed-off-by: Marius Vlad <marius.vlad@collabora.com> (cherry picked from commit 5db6d19e6bb4c72085104fcae9abf2f632d5f45a)
-rw-r--r--pipewire/pipewire-plugin.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/pipewire/pipewire-plugin.c b/pipewire/pipewire-plugin.c
index 9a913aa3..629c66ec 100644
--- a/pipewire/pipewire-plugin.c
+++ b/pipewire/pipewire-plugin.c
@@ -310,6 +310,8 @@ pipewire_output_destroy(struct weston_output *base_output)
struct pipewire_output *output = lookup_pipewire_output(base_output);
struct weston_mode *mode, *next;
+ weston_head_release(output->head);
+
wl_list_for_each_safe(mode, next, &base_output->mode_list, link) {
wl_list_remove(&mode->link);
free(mode);
@@ -318,7 +320,6 @@ pipewire_output_destroy(struct weston_output *base_output)
pw_stream_destroy(output->stream);
wl_list_remove(&output->link);
- weston_head_release(output->head);
free(output->head);
free(output);
}