Make clients exit orderly when there is no connection
diff --git a/clients/dnd.c b/clients/dnd.c
index 766fc5c..dedf353 100644
--- a/clients/dnd.c
+++ b/clients/dnd.c
@@ -581,6 +581,10 @@
srandom(tv.tv_usec);
d = display_create(&argc, &argv, option_entries);
+ if (d == NULL) {
+ fprintf(stderr, "failed to create display: %m\n");
+ return -1;
+ }
display_set_drag_offer_handler(d, drag_offer_handler);
diff --git a/clients/flower.c b/clients/flower.c
index 9054c0f..b919cf5 100644
--- a/clients/flower.c
+++ b/clients/flower.c
@@ -124,6 +124,10 @@
struct display *d;
d = display_create(&argc, &argv, NULL);
+ if (d == NULL) {
+ fprintf(stderr, "failed to create display: %m\n");
+ return -1;
+ }
flower.x = 512;
flower.y = 384;
diff --git a/clients/gears.c b/clients/gears.c
index 17536cb..7d3c310 100644
--- a/clients/gears.c
+++ b/clients/gears.c
@@ -413,6 +413,10 @@
struct gears *gears;
d = display_create(&argc, &argv, NULL);
+ if (d == NULL) {
+ fprintf(stderr, "failed to create display: %m\n");
+ return -1;
+ }
gears = gears_create(d);
display_run(d);
diff --git a/clients/image.c b/clients/image.c
index cf98266..8f30c4a 100644
--- a/clients/image.c
+++ b/clients/image.c
@@ -244,6 +244,10 @@
int i;
d = display_create(&argc, &argv, option_entries);
+ if (d == NULL) {
+ fprintf(stderr, "failed to create display: %m\n");
+ return -1;
+ }
for (i = 1; i < argc; i++) {
struct image *image;
diff --git a/clients/smoke.c b/clients/smoke.c
index 246e347..43226ad 100644
--- a/clients/smoke.c
+++ b/clients/smoke.c
@@ -267,6 +267,10 @@
int size;
d = display_create(&argc, &argv, NULL);
+ if (d == NULL) {
+ fprintf(stderr, "failed to create display: %m\n");
+ return -1;
+ }
smoke.x = 200;
smoke.y = 200;
diff --git a/clients/terminal.c b/clients/terminal.c
index c841ef2..2f12f8a 100644
--- a/clients/terminal.c
+++ b/clients/terminal.c
@@ -548,6 +548,10 @@
struct terminal *terminal;
d = display_create(&argc, &argv, option_entries);
+ if (d == NULL) {
+ fprintf(stderr, "failed to create display: %m\n");
+ return -1;
+ }
terminal = terminal_create(d, option_fullscreen);
if (terminal_run(terminal, "/bin/bash"))
diff --git a/clients/view.c b/clients/view.c
index ace838d..e6f1857 100644
--- a/clients/view.c
+++ b/clients/view.c
@@ -207,6 +207,10 @@
int i;
d = display_create(&argc, &argv, option_entries);
+ if (d == NULL) {
+ fprintf(stderr, "failed to create display: %m\n");
+ return -1;
+ }
for (i = 1; i < argc; i++) {
struct view *view;