onscreen/native: Set error when a fallback framebuffer is unavailable

This will prevent a spurious g_object_ref warning being followed by
a NULL dereference in `error->message`.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3928>
This commit is contained in:
Daniel van Vugt 2024-08-07 15:23:57 +08:00 committed by Marge Bot
parent 2341346c90
commit ced0d34142

View File

@ -1217,6 +1217,12 @@ acquire_front_buffer (CoglOnscreen *onscreen,
META_SHARED_FRAMEBUFFER_COPY_MODE_PRIMARY;
G_GNUC_FALLTHROUGH;
case META_SHARED_FRAMEBUFFER_COPY_MODE_PRIMARY:
if (secondary_gpu_fb == NULL)
{
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
"Missing secondary GPU framebuffer");
return NULL;
}
return g_object_ref (secondary_gpu_fb);
case META_SHARED_FRAMEBUFFER_COPY_MODE_SECONDARY_GPU:
return copy_shared_framebuffer_gpu (onscreen,