On Tue, 23 Jan 2018 22:15:45 -0500 nerdopolis <bluescreen_aven...@verizon.net> wrote:
> 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 > --- > libweston/launcher-logind.c | 22 ++++++++++++---------- > libweston/launcher-util.c | 4 ++++ > 2 files changed, 16 insertions(+), 10 deletions(-) > > diff --git a/libweston/launcher-logind.c b/libweston/launcher-logind.c > index 21d8c37b..875db70f 100644 > --- a/libweston/launcher-logind.c > +++ b/libweston/launcher-logind.c > @@ -769,18 +769,20 @@ launcher_logind_connect(struct weston_launcher **out, > struct weston_compositor * > free(t); > goto err_session; > } > - free(t); > > - r = weston_sd_session_get_vt(wl->sid, &wl->vtnr); > - if (r < 0) { > - weston_log("logind: session not running on a VT\n"); > - goto err_session; > - } else if (tty > 0 && wl->vtnr != (unsigned int )tty) { > - weston_log("logind: requested VT --tty=%d differs from real > session VT %u\n", > - tty, wl->vtnr); > - r = -EINVAL; > - goto err_session; > + if (!strcmp(t, "seat0")) { > + r = weston_sd_session_get_vt(wl->sid, &wl->vtnr); > + if (r < 0) { > + weston_log("logind: session not running on a VT\n"); > + goto err_session; > + } else if (tty > 0 && wl->vtnr != (unsigned int )tty) { > + weston_log("logind: requested VT --tty=%d differs from > real session VT %u\n", > + tty, wl->vtnr); > + r = -EINVAL; > + goto err_session; > + } > } > + free(t); > > loop = wl_display_get_event_loop(compositor->wl_display); > r = weston_dbus_open(loop, DBUS_BUS_SYSTEM, &wl->dbus, &wl->dbus_ctx); > diff --git a/libweston/launcher-util.c b/libweston/launcher-util.c > index 96a0ba6f..777ab755 100644 > --- a/libweston/launcher-util.c > +++ b/libweston/launcher-util.c > @@ -111,6 +111,10 @@ WL_EXPORT void > weston_setup_vt_switch_bindings(struct weston_compositor *compositor) > { > uint32_t key; > + struct weston_launcher *launcher = compositor->launcher; > + > + if (launcher->iface->get_vt(launcher) == 0) > + return; Hi, the get_vt vfunc can also return negative on error, maybe that should prevent VT-switching bindings as well? With or without that change, this patch is: Reviewed-by: Pekka Paalanen <pekka.paala...@collabora.co.uk> > > if (compositor->vt_switching == false) > return; Thanks, pq
pgpOfWfpLA5sC.pgp
Description: OpenPGP digital signature
_______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel