Add wlr_signal_emit_safe

This commit is contained in:
emersion 2018-02-12 09:12:31 +01:00
parent 3497e53516
commit 5e58d46cc1
No known key found for this signature in database
GPG key ID: 0FDE7BE0E88F5E48
43 changed files with 265 additions and 182 deletions

View file

@ -13,13 +13,14 @@
#include <wlr/config.h>
#include <wlr/backend/session/interface.h>
#include <wlr/util/log.h>
#include <wlr/util/signal.h>
#ifdef WLR_HAS_SYSTEMD
#include <systemd/sd-bus.h>
#include <systemd/sd-login.h>
#elif defined(WLR_HAS_ELOGIND)
#include <elogind/sd-bus.h>
#include <elogind/sd-login.h>
#include <elogind/sd-login.h>
#endif
enum { DRM_MAJOR = 226 };
@ -250,7 +251,7 @@ static int pause_device(sd_bus_message *msg, void *userdata, sd_bus_error *ret_e
if (major == DRM_MAJOR) {
session->base.active = false;
wl_signal_emit(&session->base.session_signal, session);
wlr_signal_emit_safe(&session->base.session_signal, session);
}
if (strcmp(type, "pause") == 0) {
@ -286,7 +287,7 @@ static int resume_device(sd_bus_message *msg, void *userdata, sd_bus_error *ret_
if (!session->base.active) {
session->base.active = true;
wl_signal_emit(&session->base.session_signal, session);
wlr_signal_emit_safe(&session->base.session_signal, session);
}
}