xserver: Branch 'master'

Peter Hutterer whot at kemper.freedesktop.org
Wed Mar 1 23:35:10 UTC 2017


 hw/xwayland/xwayland-input.c |    5 -----
 1 file changed, 5 deletions(-)

New commits:
commit fe5c340046c8cf755b92763a49b2dc475e856a76
Author: Olivier Fourdan <ofourdan at redhat.com>
Date:   Wed Mar 1 08:51:31 2017 +0100

    xwayland: do not set checkRepeat on master kbd
    
    keyboard_check_repeat() fetches the XWayland seat from the
    dev->public.devicePrivate do do its thing.
    
    If a key event is sent programmatically through Xtest, our device is the
    virtual core keyboard and that has a dev->public.devicePrivate of NULL,
    leading to a segfault in keyboard_check_repeat().
    
    This is the case with "antimicro" which sends key events based on the
    joystick buttons.
    
    Don't set the checkRepeat handler on the VCK since it cannot possibly work
    anyway and it has no effect on the actual checkRepeat intended functionality.
    
    Bugzilla: https://bugzilla.redhat.com/1416244
    Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>
    Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>

diff --git a/hw/xwayland/xwayland-input.c b/hw/xwayland/xwayland-input.c
index 2ca99d9..1f5d323 100644
--- a/hw/xwayland/xwayland-input.c
+++ b/hw/xwayland/xwayland-input.c
@@ -1027,8 +1027,6 @@ release_relative_pointer(struct xwl_seat *xwl_seat)
 static void
 init_keyboard(struct xwl_seat *xwl_seat)
 {
-    DeviceIntPtr master;
-
     xwl_seat->wl_keyboard = wl_seat_get_keyboard(xwl_seat->seat);
     wl_keyboard_add_listener(xwl_seat->wl_keyboard,
                              &keyboard_listener, xwl_seat);
@@ -1040,9 +1038,6 @@ init_keyboard(struct xwl_seat *xwl_seat)
     }
     EnableDevice(xwl_seat->keyboard, TRUE);
     xwl_seat->keyboard->key->xkbInfo->checkRepeat = keyboard_check_repeat;
-    master = GetMaster(xwl_seat->keyboard, MASTER_KEYBOARD);
-    if (master)
-        master->key->xkbInfo->checkRepeat = keyboard_check_repeat;
 }
 
 static void


More information about the xorg-commit mailing list