kathenas / rpms / mutter

Forked from rpms/mutter 5 years ago
Clone
Blob Blame History Raw
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