summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Vlad <marius.vlad@collabora.com>2024-03-07 11:05:17 +0200
committerDerek Foreman <derek.foreman@collabora.com>2024-03-11 12:31:55 +0000
commitb93335a741e008a341d8b3d61d6315200da6ff3b (patch)
treea8fd4cfdb21a6ee951bd4d8a4e5584e5420f8023
parent4861b19f3d6b993accaf951e4aabaa3ec08d07cd (diff)
backend-pipewire: Move region initialization at the start
Failure to do so, might cause a crash if the output repaint happens before the pipewire pipeline started -- calling pixman_region32_fini on a uninitialized region. Fixes 2abe4efcf7, "libweston/backends: Move damage flush into backends" Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
-rw-r--r--libweston/backend-pipewire/pipewire.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libweston/backend-pipewire/pipewire.c b/libweston/backend-pipewire/pipewire.c
index 56d5af5b..5d17892b 100644
--- a/libweston/backend-pipewire/pipewire.c
+++ b/libweston/backend-pipewire/pipewire.c
@@ -735,11 +735,11 @@ pipewire_output_repaint(struct weston_output *base)
assert(output);
+ pixman_region32_init(&damage);
+
if (pw_stream_get_state(output->stream, NULL) != PW_STREAM_STATE_STREAMING)
goto out;
- pixman_region32_init(&damage);
-
weston_output_flush_damage_for_primary_plane(base, &damage);
if (!pixman_region32_not_empty(&damage))