summaryrefslogtreecommitdiff
path: root/hw/xfree86/os-support/linux
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2014-03-07 04:59:47 -0500
committerHans de Goede <hdegoede@redhat.com>2014-03-10 09:07:39 +0100
commit749d25f6f0faed00a4cd906171ea6f96d76591e7 (patch)
treeca97323c9aa51a5ccc6b2e1e405fd6be3ee4b83d /hw/xfree86/os-support/linux
parentc6dea929a4951c3c048554a1ef54cf8143d9577a (diff)
systemd-logind: Fix vt-enter not working when using a legacy video driver
If there is only a single non kms video device (tested with the vesa driver), then we will never get a resume signal for a drm node, so also call vtenter when we get a resume for an input device. Notes: 1) vtenter checks if it is ok to do the vtenter, so if there are kms video devices the calls for input device resumes are a nop 2) This assumes that there will always be at least one server event fd supporting input device. Since all non legacy input-drivers will be patched to supported server fds this seems a safe assumption. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'hw/xfree86/os-support/linux')
-rw-r--r--hw/xfree86/os-support/linux/systemd-logind.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/hw/xfree86/os-support/linux/systemd-logind.c b/hw/xfree86/os-support/linux/systemd-logind.c
index abb8e44d9..a8406d8be 100644
--- a/hw/xfree86/os-support/linux/systemd-logind.c
+++ b/hw/xfree86/os-support/linux/systemd-logind.c
@@ -347,7 +347,6 @@ message_filter(DBusConnection * connection, DBusMessage * message, void *data)
if (pdev) {
pdev->flags &= ~XF86_PDEV_PAUSED;
- systemd_logind_vtenter();
}
else {
pInfo->fd = fd;
@@ -355,6 +354,8 @@ message_filter(DBusConnection * connection, DBusMessage * message, void *data)
if (info->vt_active)
xf86EnableInputDeviceForVTSwitch(pInfo);
}
+ /* Always call vtenter(), in case there are only legacy video devs */
+ systemd_logind_vtenter();
}
return DBUS_HANDLER_RESULT_HANDLED;
}