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 54709c16b5)
This commit is contained in:
Miguel A. Vico 2018-06-21 02:53:15 +00:00 committed by Ray Strode
parent d820815472
commit b2a035348b

View File

@ -365,6 +365,7 @@ buffer_params_create_common (struct wl_client *client,
dma_buf, NULL); dma_buf, NULL);
buffer = meta_wayland_buffer_from_resource (buffer_resource); buffer = meta_wayland_buffer_from_resource (buffer_resource);
meta_wayland_buffer_realize (buffer);
if (!meta_wayland_buffer_attach (buffer, &error)) if (!meta_wayland_buffer_attach (buffer, &error))
{ {
if (buffer_id == 0) if (buffer_id == 0)