Commit 68220dba authored by nerdopolis's avatar nerdopolis Committed by Pekka Paalanen

launcher-logind: only get a VT on seat0, as only seat0 supports VTs

As only seat0 supports TTYs, this changes the logind launcher where
it detects a TTY, only if the seat is seat0. This has only been
tested for logind
Reviewed-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: default avatarEmil Velikov <emil.velikov@collabora.com>
parent d68109b9
...@@ -762,17 +762,20 @@ launcher_logind_connect(struct weston_launcher **out, struct weston_compositor * ...@@ -762,17 +762,20 @@ launcher_logind_connect(struct weston_launcher **out, struct weston_compositor *
free(t); free(t);
goto err_session; goto err_session;
} }
free(t);
r = weston_sd_session_get_vt(wl->sid, &wl->vtnr); r = strcmp(t, "seat0");
if (r < 0) { free(t);
weston_log("logind: session not running on a VT\n"); if (r == 0) {
goto err_session; r = weston_sd_session_get_vt(wl->sid, &wl->vtnr);
} else if (tty > 0 && wl->vtnr != (unsigned int )tty) { if (r < 0) {
weston_log("logind: requested VT --tty=%d differs from real session VT %u\n", weston_log("logind: session not running on a VT\n");
tty, wl->vtnr); goto err_session;
r = -EINVAL; } else if (tty > 0 && wl->vtnr != (unsigned int )tty) {
goto err_session; weston_log("logind: requested VT --tty=%d differs from real session VT %u\n",
tty, wl->vtnr);
r = -EINVAL;
goto err_session;
}
} }
loop = wl_display_get_event_loop(compositor->wl_display); loop = wl_display_get_event_loop(compositor->wl_display);
......
...@@ -104,6 +104,10 @@ WL_EXPORT void ...@@ -104,6 +104,10 @@ WL_EXPORT void
weston_setup_vt_switch_bindings(struct weston_compositor *compositor) weston_setup_vt_switch_bindings(struct weston_compositor *compositor)
{ {
uint32_t key; uint32_t key;
struct weston_launcher *launcher = compositor->launcher;
if (launcher->iface->get_vt(launcher) <= 0)
return;
if (compositor->vt_switching == false) if (compositor->vt_switching == false)
return; return;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment