vulkan: Fix Wayland uninitialised registry
Untangle the exit cleanup paths so we don't try to use the registry variable before it's been initialised. Signed-off-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Cc: mesa-stable@lists.freedesktop.org
This commit is contained in:
parent
688ddb85c8
commit
d9a8bba7f4
|
@ -273,7 +273,7 @@ wsi_wl_display_create(struct wsi_wayland *wsi, struct wl_display *wl_display)
|
|||
|
||||
struct wl_registry *registry = wl_display_get_registry(wl_display);
|
||||
if (!registry)
|
||||
return NULL;
|
||||
goto fail;
|
||||
|
||||
wl_registry_add_listener(registry, ®istry_listener, display);
|
||||
|
||||
|
@ -281,24 +281,25 @@ wsi_wl_display_create(struct wsi_wayland *wsi, struct wl_display *wl_display)
|
|||
wl_display_roundtrip(wl_display);
|
||||
|
||||
if (!display->drm)
|
||||
goto fail;
|
||||
goto fail_registry;
|
||||
|
||||
/* Round-rip to get wl_drm formats and capabilities */
|
||||
wl_display_roundtrip(wl_display);
|
||||
|
||||
/* We need prime support */
|
||||
if (!(display->capabilities & WL_DRM_CAPABILITY_PRIME))
|
||||
goto fail;
|
||||
goto fail_registry;
|
||||
|
||||
/* We don't need this anymore */
|
||||
wl_registry_destroy(registry);
|
||||
|
||||
return display;
|
||||
|
||||
fail:
|
||||
fail_registry:
|
||||
if (registry)
|
||||
wl_registry_destroy(registry);
|
||||
|
||||
fail:
|
||||
wsi_wl_display_destroy(wsi, display);
|
||||
return NULL;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue