Fix a race condition when respawning swaybg

This commit is contained in:
Mykyta Holubakha 2019-05-03 23:34:05 +03:00
parent 464a3b4fdd
commit 1ba55be265

View file

@ -482,10 +482,12 @@ void free_output_config(struct output_config *oc) {
static void handle_swaybg_client_destroy(struct wl_listener *listener, static void handle_swaybg_client_destroy(struct wl_listener *listener,
void *data) { void *data) {
wl_list_remove(&config->swaybg_client_destroy.link); struct wl_client *client = data;
wl_list_init(&config->swaybg_client_destroy.link); wl_list_remove(&listener->link);
if (client == config->swaybg_client) {
config->swaybg_client = NULL; config->swaybg_client = NULL;
} }
}
static bool _spawn_swaybg(char **command) { static bool _spawn_swaybg(char **command) {
if (config->swaybg_client != NULL) { if (config->swaybg_client != NULL) {