[PATCH] Re-enable non serverfd input devices immediately on vtenter

Peter Hutterer peter.hutterer at who-t.net
Wed Apr 8 17:21:46 PDT 2015


On Wed, Apr 08, 2015 at 02:07:52PM +0200, Hans de Goede wrote:
> Non serverfd input devices will never get a systemd-logind dbus resume signal,
> causing them to never get re-enabled.
> 
> This commit changes xf86VTEnter() to enable them immediately, fixing this.
> 
> BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=89756
> Signed-off-by: Hans de Goede <hdegoede at redhat.com>

Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>

Keith, please merge this directly, thanks.

Cheers,
   Peter

> ---
>  hw/xfree86/common/xf86Events.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/hw/xfree86/common/xf86Events.c b/hw/xfree86/common/xf86Events.c
> index c06aaae..97a1f97 100644
> --- a/hw/xfree86/common/xf86Events.c
> +++ b/hw/xfree86/common/xf86Events.c
> @@ -583,10 +583,11 @@ xf86VTEnter(void)
>      /* Turn screen saver off when switching back */
>      dixSaveScreens(serverClient, SCREEN_SAVER_FORCER, ScreenSaverReset);
>  
> -    /* If we use systemd-logind it will enable input devices for us */
> -    if (!systemd_logind_controls_session())
> -        for (pInfo = xf86InputDevs; pInfo; pInfo = pInfo->next)
> +    for (pInfo = xf86InputDevs; pInfo; pInfo = pInfo->next) {
> +        /* Devices with server managed fds get enabled on logind resume */
> +        if (!(pInfo->flags & XI86_SERVER_FD))
>              xf86EnableInputDeviceForVTSwitch(pInfo);
> +    }
>  
>      for (ih = InputHandlers; ih; ih = ih->next) {
>          if (ih->is_input)
> -- 
> 2.3.4
> 
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel
> 


More information about the xorg-devel mailing list