summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLynne <dev@lynne.ee>2022-10-31 23:50:21 +0100
committerDudemanguy <random342@airmail.cc>2022-10-31 20:46:29 -0500
commitd555ae95712cfcbf81be69ea2213bda83e6face3 (patch)
treef2b98a36d938355cb844933e653e6d24a49ec69a
parent5fa3bca86359d59bfd72554f84ee67814a8f9111 (diff)
downloadmpv-d555ae95712cfcbf81be69ea2213bda83e6face3.tar.bz2
mpv-d555ae95712cfcbf81be69ea2213bda83e6face3.tar.xz
wayland_common: always zero out presentation context when destroying it
A desync between the feedback and the feedback in the context still happens when closing a hidden surface.
-rw-r--r--video/out/wayland_common.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/video/out/wayland_common.c b/video/out/wayland_common.c
index 308e035ccd..51f68a46a6 100644
--- a/video/out/wayland_common.c
+++ b/video/out/wayland_common.c
@@ -1019,8 +1019,10 @@ static void feedback_presented(void *data, struct wp_presentation_feedback *fbac
// NULL is needed to prevent a dangling pointer since presentation_feedback
// is created in the frame_callback and not in any of the actual presentation
// events.
- if (fback)
+ if (fback) {
wp_presentation_feedback_destroy(fback);
+ wl->feedback = NULL;
+ }
if (!wl->use_present)
return;