From a8f989c6516e52ac6fe5380f39c94e470b7892e8 Mon Sep 17 00:00:00 2001
From: Mikkel Oscar Lyderik <mikkeloscar@gmail.com>
Date: Wed, 23 Mar 2016 14:25:58 +0100
Subject: [PATCH] swaylock: Fix crash when unable to connect to wl

Prevent swaylock from crashing when it can't connect to wayland for
whatever reason. i.e. XDG_RUNTIME_DIR not set.

Fix #534
---
 swaylock/main.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/swaylock/main.c b/swaylock/main.c
index f2015a05..3f0fc867 100644
--- a/swaylock/main.c
+++ b/swaylock/main.c
@@ -31,7 +31,9 @@ void sway_terminate(int exit_code) {
 		window_teardown(window);
 	}
 	list_free(surfaces);
-	registry_teardown(registry);
+	if (registry) {
+		registry_teardown(registry);
+	}
 	exit(exit_code);
 }
 
@@ -292,6 +294,10 @@ int main(int argc, char **argv) {
 	surfaces = create_list();
 	registry = registry_poll();
 
+	if (!registry) {
+		sway_abort("Unable to connect to wayland compositor");
+	}
+
 	if (!registry->swaylock) {
 		sway_abort("swaylock requires the compositor to support the swaylock extension.");
 	}