From 9ac07b40052b02d5b3aeb268fa64b4583dd53abd Mon Sep 17 00:00:00 2001
From: "Miguel A. Vico" <mvicomoya@nvidia.com>
Date: Thu, 21 Jun 2018 02:53:15 +0000
Subject: [PATCH] wayland: Realize dmabuf buffers before trying to attach them
Commit 22723ca37 moved buffer realization to
meta_wayland_surface_commit() so that it wouldn't be part of
meta_wayland_buffer_attach().
However, creation of dmabuf buffers would call into
meta_wayland_buffer_attach() directly without realizing the buffer
first. attach() would then fail and mutter would effectively shut down
any clients using the zwp_linux_dmabuf protocol (note that if such
client was Xwayland, mutter itself would shut down as well).
Add the missing bit in order to make zwp_linux_dmabuf protocol work
again.
(cherry picked from commit 54709c16b56a308d2254c56a35d042bf8b8e124f)
---
src/wayland/meta-wayland-dma-buf.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/wayland/meta-wayland-dma-buf.c b/src/wayland/meta-wayland-dma-buf.c
index 76b8aa219..e72c53935 100644
--- a/src/wayland/meta-wayland-dma-buf.c
+++ b/src/wayland/meta-wayland-dma-buf.c
@@ -365,6 +365,7 @@ buffer_params_create_common (struct wl_client *client,
dma_buf, NULL);
buffer = meta_wayland_buffer_from_resource (buffer_resource);
+ meta_wayland_buffer_realize (buffer);
if (!meta_wayland_buffer_attach (buffer, &error))
{
if (buffer_id == 0)
--
2.19.1