wayland: Check that the current backend is native before using DMA-BUF FDs
We may fall through these paths on --nested too, resulting in us poking the wrong internals from the wrong MetaRenderer subclass. Fixes launching of clients using wl_drm in --nested. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2818>
This commit is contained in:
parent
51735c218b
commit
35e7feac8c
@ -712,13 +712,17 @@ meta_wayland_dma_buf_fds_for_wayland_buffer (MetaWaylandBuffer *buffer)
|
||||
meta_wayland_compositor_get_context (buffer->compositor);
|
||||
MetaBackend *backend = meta_context_get_backend (context);
|
||||
MetaRenderer *renderer = meta_backend_get_renderer (backend);
|
||||
MetaRendererNative *renderer_native = META_RENDERER_NATIVE (renderer);
|
||||
MetaRendererNative *renderer_native;
|
||||
MetaGpuKms *gpu_kms;
|
||||
struct gbm_device *gbm_device;
|
||||
struct gbm_bo *gbm_bo;
|
||||
MetaWaylandDmaBufBuffer *dma_buf;
|
||||
uint32_t i, n_planes;
|
||||
|
||||
if (!META_IS_RENDERER_NATIVE (renderer))
|
||||
return NULL;
|
||||
|
||||
renderer_native = META_RENDERER_NATIVE (renderer);
|
||||
gpu_kms = meta_renderer_native_get_primary_gpu (renderer_native);
|
||||
if (!gpu_kms)
|
||||
return NULL;
|
||||
|
Loading…
Reference in New Issue
Block a user