From bde9711f3cea13a0283f7c2b5b5aa1deb91edf41 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Sun, 20 May 2018 22:39:08 +1000 Subject: [PATCH] Swaylock: Log error if multiple images are defined for the same output --- swaylock/main.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/swaylock/main.c b/swaylock/main.c index 91c28bd2..74a00a35 100644 --- a/swaylock/main.c +++ b/swaylock/main.c @@ -223,6 +223,23 @@ static void load_image(char *arg, struct swaylock_state *state) { image->path = strdup(arg); } + bool exists = false; + struct swaylock_image *iter_image; + wl_list_for_each(iter_image, &state->images, link) { + if (lenient_strcmp(iter_image->output_name, image->output_name) == 0) { + exists = true; + break; + } + } + if (exists) { + if (image->output_name) { + wlr_log(L_ERROR, "Multiple images defined for output %s", + image->output_name); + } else { + wlr_log(L_ERROR, "Multiple default images defined"); + } + } + // Bash doesn't replace the ~ with $HOME if the output name is supplied wordexp_t p; if (wordexp(image->path, &p, 0) == 0) {