Module: Mesa
Branch: master
Commit: d9a8bba7f44f7042f0bbd659d0ed342236423dd3
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d9a8bba7f44f7042f0bbd659d0ed342236423dd3

Author: Daniel Stone <dani...@collabora.com>
Date:   Fri Apr 28 16:49:47 2017 +0200

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 <dani...@collabora.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwer...@intel.com>
Cc: mesa-sta...@lists.freedesktop.org

---

 src/vulkan/wsi/wsi_common_wayland.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/vulkan/wsi/wsi_common_wayland.c 
b/src/vulkan/wsi/wsi_common_wayland.c
index cb6dd7968f..a1904c02b9 100644
--- a/src/vulkan/wsi/wsi_common_wayland.c
+++ b/src/vulkan/wsi/wsi_common_wayland.c
@@ -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, &registry_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;
 }

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to