diff options
Diffstat (limited to 'src/lib/elput/elput_logind.c')
-rw-r--r-- | src/lib/elput/elput_logind.c | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/lib/elput/elput_logind.c b/src/lib/elput/elput_logind.c index 842de225e8..82ce11ff16 100644 --- a/src/lib/elput/elput_logind.c +++ b/src/lib/elput/elput_logind.c @@ -523,15 +523,18 @@ _logind_connect(Elput_Manager **manager, const char *seat, unsigned int tty) goto seat_err; } - if (!_logind_session_vt_get(em->sid, &em->vt_num)) + if ((seat) && (!strcmp(seat, "seat0"))) { - ERR("Could not get session vt"); - goto vt_err; - } - else if ((tty > 0) && (em->vt_num != tty)) - { - ERR("Requested VT %u differs from session VT %u", tty, em->vt_num); - goto vt_err; + if (!_logind_session_vt_get(em->sid, &em->vt_num)) + { + ERR("Could not get session vt"); + goto vt_err; + } + else if ((tty > 0) && (em->vt_num != tty)) + { + ERR("Requested VT %u differs from session VT %u", tty, em->vt_num); + goto vt_err; + } } free(s); |