diff options
author | Simon Ser <contact@emersion.fr> | 2020-12-04 19:01:56 +0000 |
---|---|---|
committer | Kenny Levinsen <kl@kl.wtf> | 2020-12-04 23:39:39 +0100 |
commit | e3a357badea76a6f67f00b07c15dc67dd08be560 (patch) | |
tree | 099a0996b4c73eb68d32761aed311cbfeba94a86 /libseat/backend | |
parent | 1dbf1002055627f473ac891d1ea309f1f3ddc2c3 (diff) |
libseat/backend/logind: stop waiting for CanGraphical
Upstream says compositors should wait for DRM nodes using udev instead.
Diffstat (limited to 'libseat/backend')
-rw-r--r-- | libseat/backend/logind.c | 32 |
1 files changed, 6 insertions, 26 deletions
diff --git a/libseat/backend/logind.c b/libseat/backend/logind.c index f0cadce..c9a22c0 100644 --- a/libseat/backend/logind.c +++ b/libseat/backend/logind.c @@ -39,7 +39,6 @@ struct backend_logind { char *path; char *seat_path; - bool can_graphical; bool active; bool initial_setup; int has_drm; @@ -384,8 +383,7 @@ static int properties_changed(sd_bus_message *msg, void *userdata, sd_bus_error goto error; } - if ((is_session && strcmp(s, "Active") == 0) || - (is_seat && strcmp(s, "CanGraphical"))) { + if (is_session && strcmp(s, "Active") == 0) { int ret; ret = sd_bus_message_enter_container(msg, 'v', "b"); if (ret < 0) { @@ -399,11 +397,7 @@ static int properties_changed(sd_bus_message *msg, void *userdata, sd_bus_error } log_debugf("%s state changed: %d", s, value); - if (is_session) { - set_active(session, value); - } else { - session->can_graphical = value; - } + set_active(session, value); return 0; } else { sd_bus_message_skip(msg, "{sv}"); @@ -427,12 +421,10 @@ static int properties_changed(sd_bus_message *msg, void *userdata, sd_bus_error // PropertiesChanged arg 3: changed properties without values sd_bus_message_enter_container(msg, 'a', "s"); while ((ret = sd_bus_message_read_basic(msg, 's', &s)) > 0) { - if ((is_session && strcmp(s, "Active") == 0) || - (is_seat && strcmp(s, "CanGraphical"))) { + if (is_session && strcmp(s, "Active") == 0) { sd_bus_error error = SD_BUS_ERROR_NULL; - const char *obj = is_session ? "org.freedesktop.login1.Session" - : "org.freedesktop.login1.Seat"; - const char *field = is_session ? "Active" : "CanGraphical"; + const char *obj = "org.freedesktop.login1.Session"; + const char *field = "Active"; bool value; ret = sd_bus_get_property_trivial(session->bus, "org.freedesktop.login1", session->path, obj, field, &error, 'b', @@ -443,11 +435,7 @@ static int properties_changed(sd_bus_message *msg, void *userdata, sd_bus_error } log_debugf("%s state changed: %d", field, value); - if (is_session) { - set_active(session, value); - } else { - session->can_graphical = value; - } + set_active(session, value); return 0; } } @@ -650,14 +638,6 @@ static struct libseat *logind_open_seat(struct libseat_seat_listener *listener, goto error; } - backend->can_graphical = sd_seat_can_graphical(backend->seat); - while (!backend->can_graphical) { - if (poll_connection(backend, -1) == -1) { - log_errorf("Could not poll connection: %s", strerror(errno)); - goto error; - } - } - const char *env = getenv("XDG_SESSION_TYPE"); if (env != NULL) { set_type(backend, env); |