diff options
author | Marius Vlad <marius.vlad@collabora.com> | 2024-03-07 11:05:17 +0200 |
---|---|---|
committer | Derek Foreman <derek.foreman@collabora.com> | 2024-03-11 12:31:55 +0000 |
commit | b93335a741e008a341d8b3d61d6315200da6ff3b (patch) | |
tree | a8fd4cfdb21a6ee951bd4d8a4e5584e5420f8023 | |
parent | 4861b19f3d6b993accaf951e4aabaa3ec08d07cd (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.c | 4 |
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)) |