xserver: Branch 'master' - 7 commits

Keith Packard keithp at kemper.freedesktop.org
Thu Mar 12 22:05:55 PDT 2015


 Xext/xtest.c                              |    2 -
 autogen.sh                                |    8 ++---
 dix/devices.c                             |    2 -
 dix/getevents.c                           |   40 +++--------------------------
 hw/dmx/input/dmxevents.c                  |    7 +----
 hw/kdrive/src/kinput.c                    |    2 -
 hw/xfree86/common/xf86Events.c            |    2 -
 hw/xfree86/common/xf86Module.h            |    2 -
 hw/xfree86/common/xf86Xinput.c            |   41 +++++-------------------------
 hw/xfree86/common/xf86Xinput.h            |   13 ++-------
 hw/xfree86/int10/generic.c                |    2 -
 hw/xfree86/os-support/linux/int10/linux.c |    2 -
 hw/xfree86/sdksyms.sh                     |   14 +++++++++-
 hw/xnest/Events.c                         |    2 -
 hw/xquartz/darwinEvents.c                 |    6 +---
 hw/xwayland/xwayland-input.c              |   12 ++------
 hw/xwin/winkeybd.c                        |    2 -
 include/input.h                           |    7 ++---
 os/access.c                               |    2 -
 os/connection.c                           |    9 +++++-
 20 files changed, 59 insertions(+), 118 deletions(-)

New commits:
commit 0a78b599b34cc8b5fe6fe82f90e90234e8ab7a56
Author: Jürg Billeter <j at bitron.ch>
Date:   Sat Feb 7 18:13:21 2015 +0100

    int10: Fix error check for pci_device_map_legacy
    
    pci_device_map_legacy returns 0 on success.
    
    Signed-off-by: Jürg Billeter <j at bitron.ch>
    Reviewed-by: Adam Jackson <ajax at redhat.com>
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>

diff --git a/hw/xfree86/int10/generic.c b/hw/xfree86/int10/generic.c
index 012d194..8d5c4da 100644
--- a/hw/xfree86/int10/generic.c
+++ b/hw/xfree86/int10/generic.c
@@ -104,7 +104,7 @@ readIntVec(struct pci_device *dev, unsigned char *buf, int len)
 {
     void *map;
 
-    if (!pci_device_map_legacy(dev, 0, len, 0, &map))
+    if (pci_device_map_legacy(dev, 0, len, 0, &map))
         return FALSE;
 
     memcpy(buf, map, len);
diff --git a/hw/xfree86/os-support/linux/int10/linux.c b/hw/xfree86/os-support/linux/int10/linux.c
index 79b9a88..6ca118f 100644
--- a/hw/xfree86/os-support/linux/int10/linux.c
+++ b/hw/xfree86/os-support/linux/int10/linux.c
@@ -75,7 +75,7 @@ readLegacy(struct pci_device *dev, unsigned char *buf, int base, int len)
 {
     void *map;
 
-    if (!pci_device_map_legacy(dev, base, len, 0, &map))
+    if (pci_device_map_legacy(dev, base, len, 0, &map))
         return FALSE;
 
     memcpy(buf, map, len);
commit 21b896939c5bb242f3aacc37baf12379e43254b6
Author: Egbert Eich <eich at freedesktop.org>
Date:   Tue Mar 3 16:27:05 2015 +0100

    symbols: Fix sdksyms.sh to cope with gcc5
    
    Gcc5 adds additional lines stating line numbers before and
    after __attribute__() which need to be skipped.
    
    Signed-off-by: Egbert Eich <eich at freedesktop.org>
    Tested-by: Daniel Stone <daniels at collabora.com>
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>

diff --git a/hw/xfree86/sdksyms.sh b/hw/xfree86/sdksyms.sh
index 2305073..05ac410 100755
--- a/hw/xfree86/sdksyms.sh
+++ b/hw/xfree86/sdksyms.sh
@@ -350,13 +350,25 @@ BEGIN {
     if (sdk) {
 	n = 3;
 
+        # skip line numbers GCC 5 adds before __attribute__
+        while ($n == "" || $0 ~ /^# [0-9]+ "/) {
+           getline;
+           n = 1;
+        }
+
 	# skip attribute, if any
 	while ($n ~ /^(__attribute__|__global)/ ||
 	    # skip modifiers, if any
 	    $n ~ /^\*?(unsigned|const|volatile|struct|_X_EXPORT)$/ ||
 	    # skip pointer
-	    $n ~ /^[a-zA-Z0-9_]*\*$/)
+	    $n ~ /^[a-zA-Z0-9_]*\*$/) {
 	    n++;
+            # skip line numbers GCC 5 adds after __attribute__
+            while ($n == "" || $0 ~ /^# [0-9]+ "/) {
+               getline;
+               n = 1;
+            }
+        }
 
 	# type specifier may not be set, as in
 	#   extern _X_EXPORT unsigned name(...)
commit 7ea64fb4374504bd3d524fc08c90efdab9f253ea
Author: Alan Coopersmith <alan.coopersmith at oracle.com>
Date:   Mon Mar 9 09:55:57 2015 -0700

    Clear ListenTransConns entries in CloseWellKnownConnections
    
    Since _XSERVTransClose frees the connection pointer passed to it,
    remove that pointer from the array, so we don't try to double free it
    if we come back into CloseWellKnownConnections again.
    
    Should fix https://bugzilla.yoctoproject.org/show_bug.cgi?id=6665 in which
    the shutdown section of the main() loop called CloseWellKnownConnections()
    and then moved on to ddxGiveUp(), which failed to release the VT and thus
    called AbortServer(), which called CloseWellKnownConnections() again.
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith at oracle.com>
    Reviewed-by: Adam Jackson <ajax at redhat.com>
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>

diff --git a/os/connection.c b/os/connection.c
index ddfe50a..7ff44e1 100644
--- a/os/connection.c
+++ b/os/connection.c
@@ -513,8 +513,13 @@ CloseWellKnownConnections(void)
 {
     int i;
 
-    for (i = 0; i < ListenTransCount; i++)
-        _XSERVTransClose(ListenTransConns[i]);
+    for (i = 0; i < ListenTransCount; i++) {
+        if (ListenTransConns[i] != NULL) {
+            _XSERVTransClose(ListenTransConns[i]);
+            ListenTransConns[i] = NULL;
+        }
+    }
+    ListenTransCount = 0;
 }
 
 static void
commit 6d3cf35a6f0856ac44a7be560e2265461f9bb32b
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date:   Mon Mar 9 12:00:52 2015 +0000

    autogen.sh: use quoted string variables
    
    Place quotes around the $srcdir, $ORIGDIR and $0 variables to prevent
    fall-outs, when they contain space.
    
    Signed-off-by: Emil Velikov <emil.l.velikov at gmail.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/autogen.sh b/autogen.sh
index dd0731a..aee4beb 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -1,14 +1,14 @@
 #! /bin/sh
 
-srcdir=`dirname $0`
+srcdir=`dirname "$0"`
 test -z "$srcdir" && srcdir=.
 
 ORIGDIR=`pwd`
-cd $srcdir
+cd "$srcdir"
 
 autoreconf --force -v --install || exit 1
-cd $ORIGDIR || exit $?
+cd "$ORIGDIR" || exit $?
 
 if test -z "$NOCONFIGURE"; then
-    exec $srcdir/configure "$@"
+    exec "$srcdir"/configure "$@"
 fi
commit 5c4202ea85aaea2a4dc7eb29776357a2ba13e191
Author: Michal Srb <msrb at suse.com>
Date:   Thu Feb 19 14:57:27 2015 +0200

    Expose GetMaster to modules.
    
    Add _X_EXPORT to GetMaster function. It is required by tigervnc's VNC module.
    
    Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>

diff --git a/include/input.h b/include/input.h
index cb83cac..00a9cbd 100644
--- a/include/input.h
+++ b/include/input.h
@@ -504,7 +504,7 @@ extern int AttachDevice(ClientPtr client,
                         DeviceIntPtr slave, DeviceIntPtr master);
 
 extern _X_EXPORT DeviceIntPtr GetPairedDevice(DeviceIntPtr kbd);
-extern DeviceIntPtr GetMaster(DeviceIntPtr dev, int type);
+extern _X_EXPORT DeviceIntPtr GetMaster(DeviceIntPtr dev, int type);
 
 extern _X_EXPORT int AllocDevicePair(ClientPtr client,
                                      const char *name,
commit f485a1af64bb00c696ea9f79961786bd791eaec1
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date:   Tue Dec 16 14:43:29 2014 +1000

    Drop valuator mask argument from GetKeyboardEvents
    
    Nothing was using it and if anyone had they would've gotten a warning and
    noticed that it doesn't actually work. Drop this, it has been unused for years.
    
    Input ABI 22
    
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
    Reviewed-by: Daniel Stone <daniel at fooishbar.org>

diff --git a/Xext/xtest.c b/Xext/xtest.c
index 88df443..2371a69 100644
--- a/Xext/xtest.c
+++ b/Xext/xtest.c
@@ -421,7 +421,7 @@ ProcXTestFakeInput(ClientPtr client)
     case KeyPress:
     case KeyRelease:
         nevents =
-            GetKeyboardEvents(xtest_evlist, dev, type, ev->u.u.detail, NULL);
+            GetKeyboardEvents(xtest_evlist, dev, type, ev->u.u.detail);
         break;
     }
 
diff --git a/dix/devices.c b/dix/devices.c
index c4fdbe1..d8e7f9c 100644
--- a/dix/devices.c
+++ b/dix/devices.c
@@ -2518,7 +2518,7 @@ ReleaseButtonsAndKeys(DeviceIntPtr dev)
     /* Release all keys */
     for (i = 0; k && i < MAP_LENGTH; i++) {
         if (BitIsOn(k->down, i)) {
-            nevents = GetKeyboardEvents(eventlist, dev, KeyRelease, i, NULL);
+            nevents = GetKeyboardEvents(eventlist, dev, KeyRelease, i);
             for (j = 0; j < nevents; j++)
                 mieqProcessDeviceEvent(dev, &eventlist[j], NULL);
         }
diff --git a/dix/getevents.c b/dix/getevents.c
index bc7ffa6..d0a87f7 100644
--- a/dix/getevents.c
+++ b/dix/getevents.c
@@ -1049,21 +1049,18 @@ event_set_root_coordinates(DeviceEvent *event, double x, double y)
  *
  * This function is not reentrant. Disable signals before calling.
  *
- * FIXME: flags for relative/abs motion?
- *
  * @param device The device to generate the event for
  * @param type Event type, one of KeyPress or KeyRelease
  * @param keycode Key code of the pressed/released key
- * @param mask Valuator mask for valuators present for this event.
  *
  */
 void
 QueueKeyboardEvents(DeviceIntPtr device, int type,
-                    int keycode, const ValuatorMask *mask)
+                    int keycode)
 {
     int nevents;
 
-    nevents = GetKeyboardEvents(InputEventList, device, type, keycode, mask);
+    nevents = GetKeyboardEvents(InputEventList, device, type, keycode);
     queueEventList(device, InputEventList, nevents);
 }
 
@@ -1078,20 +1075,17 @@ QueueKeyboardEvents(DeviceIntPtr device, int type,
  */
 int
 GetKeyboardEvents(InternalEvent *events, DeviceIntPtr pDev, int type,
-                  int key_code, const ValuatorMask *mask_in)
+                  int key_code)
 {
     int num_events = 0;
     CARD32 ms = 0;
     DeviceEvent *event;
     RawDeviceEvent *raw;
-    ValuatorMask mask;
 
 #if XSERVER_DTRACE
     if (XSERVER_INPUT_EVENT_ENABLED()) {
-        XSERVER_INPUT_EVENT(pDev->id, type, key_code, 0,
-                            mask_in ? mask_in->last_bit + 1 : 0,
-                            mask_in ? mask_in->mask : NULL,
-                            mask_in ? mask_in->valuators : NULL);
+        XSERVER_INPUT_EVENT(pDev->id, type, key_code, 0, 0,
+                            NULL, NULL);
     }
 #endif
 
@@ -1104,11 +1098,6 @@ GetKeyboardEvents(InternalEvent *events, DeviceIntPtr pDev, int type,
         (key_code < 8 || key_code > 255))
         return 0;
 
-    if (mask_in && valuator_mask_size(mask_in) > 1) {
-        ErrorF("[dix] the server does not handle valuator masks with "
-               "keyboard events. This is a bug. You may fix it.\n");
-    }
-
     num_events = 1;
 
     events =
@@ -1130,14 +1119,7 @@ GetKeyboardEvents(InternalEvent *events, DeviceIntPtr pDev, int type,
     events++;
     num_events++;
 
-    valuator_mask_copy(&mask, mask_in);
-
     init_raw(pDev, raw, ms, type, key_code);
-    set_raw_valuators(raw, &mask, raw->valuators.data_raw);
-
-    clipValuators(pDev, &mask);
-
-    set_raw_valuators(raw, &mask, raw->valuators.data);
 
     event = &events->device_event;
     init_device_event(event, pDev, ms);
@@ -1152,18 +1134,6 @@ GetKeyboardEvents(InternalEvent *events, DeviceIntPtr pDev, int type,
         set_key_up(pDev, key_code, KEY_POSTED);
     }
 
-    clipValuators(pDev, &mask);
-
-    set_valuators(pDev, event, &mask);
-
-    if (!IsFloating(pDev)) {
-        DeviceIntPtr master = GetMaster(pDev, MASTER_POINTER);
-
-        event_set_root_coordinates(event,
-                                   master->last.valuators[0],
-                                   master->last.valuators[1]);
-    }
-
     return num_events;
 }
 
diff --git a/hw/dmx/input/dmxevents.c b/hw/dmx/input/dmxevents.c
index 14ac05f..2b579ee 100644
--- a/hw/dmx/input/dmxevents.c
+++ b/hw/dmx/input/dmxevents.c
@@ -488,12 +488,9 @@ dmxTranslateAndEnqueueExtEvent(DMXLocalInputInfoPtr dmxLocal,
     switch (type) {
     case XI_DeviceKeyPress:
     case XI_DeviceKeyRelease:
-        EXTRACT_VALUATORS(ke, valuators);
-        valuator_mask_set_range(&mask, ke->first_axis, ke->axes_count,
-                                valuators);
         if (block)
             OsBlockSIGIO();
-        QueueKeyboardEvents(pDevice, event, ke->keycode, &mask);
+        QueueKeyboardEvents(pDevice, event, ke->keycode);
         if (block)
             OsReleaseSIGIO();
         break;
@@ -718,7 +715,7 @@ dmxEnqueue(DevicePtr pDev, int type, int detail, KeySym keySym,
             detail = dmxFixup(pDev, detail, keySym);
 
         /*ErrorF("KEY %d  sym %d\n", detail, (int) keySym); */
-        QueueKeyboardEvents(p, type, detail, NULL);
+        QueueKeyboardEvents(p, type, detail);
         return;
 
     case ButtonPress:
diff --git a/hw/kdrive/src/kinput.c b/hw/kdrive/src/kinput.c
index a539ca5..057f53b 100644
--- a/hw/kdrive/src/kinput.c
+++ b/hw/kdrive/src/kinput.c
@@ -1831,7 +1831,7 @@ KdEnqueueKeyboardEvent(KdKeyboardInfo * ki,
         else
             type = KeyPress;
 
-        QueueKeyboardEvents(ki->dixdev, type, key_code, NULL);
+        QueueKeyboardEvents(ki->dixdev, type, key_code);
     }
     else {
         ErrorF("driver %s wanted to post scancode %d outside of [%d, %d]!\n",
diff --git a/hw/xfree86/common/xf86Events.c b/hw/xfree86/common/xf86Events.c
index 16b3e28..c06aaae 100644
--- a/hw/xfree86/common/xf86Events.c
+++ b/hw/xfree86/common/xf86Events.c
@@ -403,7 +403,7 @@ xf86ReleaseKeys(DeviceIntPtr pDev)
          i < keyc->xkbInfo->desc->max_key_code; i++) {
         if (key_is_down(pDev, i, KEY_POSTED)) {
             OsBlockSIGIO();
-            QueueKeyboardEvents(pDev, KeyRelease, i, NULL);
+            QueueKeyboardEvents(pDev, KeyRelease, i);
             OsReleaseSIGIO();
         }
     }
diff --git a/hw/xfree86/common/xf86Module.h b/hw/xfree86/common/xf86Module.h
index e68fe9c..25a8869 100644
--- a/hw/xfree86/common/xf86Module.h
+++ b/hw/xfree86/common/xf86Module.h
@@ -81,7 +81,7 @@ typedef enum {
  */
 #define ABI_ANSIC_VERSION	SET_ABI_VERSION(0, 4)
 #define ABI_VIDEODRV_VERSION	SET_ABI_VERSION(19, 0)
-#define ABI_XINPUT_VERSION	SET_ABI_VERSION(21, 0)
+#define ABI_XINPUT_VERSION	SET_ABI_VERSION(22, 0)
 #define ABI_EXTENSION_VERSION	SET_ABI_VERSION(9, 0)
 #define ABI_FONT_VERSION	SET_ABI_VERSION(0, 6)
 
diff --git a/hw/xfree86/common/xf86Xinput.c b/hw/xfree86/common/xf86Xinput.c
index 1fb5b16..9fa3dc4 100644
--- a/hw/xfree86/common/xf86Xinput.c
+++ b/hw/xfree86/common/xf86Xinput.c
@@ -1326,47 +1326,21 @@ xf86PostButtonEventM(DeviceIntPtr device,
 }
 
 void
-xf86PostKeyEvent(DeviceIntPtr device,
-                 unsigned int key_code,
-                 int is_down,
-                 int is_absolute, int first_valuator, int num_valuators, ...)
+xf86PostKeyEvent(DeviceIntPtr device, unsigned int key_code, int is_down)
 {
-    va_list var;
-    int i = 0;
-    ValuatorMask mask;
-
-    XI_VERIFY_VALUATORS(num_valuators);
-
-    valuator_mask_zero(&mask);
-
-    va_start(var, num_valuators);
-    for (i = 0; i < num_valuators; i++)
-        valuator_mask_set(&mask, first_valuator + i, va_arg(var, int));
-
-    va_end(var);
-
-    xf86PostKeyEventM(device, key_code, is_down, is_absolute, &mask);
+    xf86PostKeyEventM(device, key_code, is_down);
 }
 
 void
 xf86PostKeyEventP(DeviceIntPtr device,
                   unsigned int key_code,
-                  int is_down,
-                  int is_absolute,
-                  int first_valuator, int num_valuators, const int *valuators)
+                  int is_down)
 {
-    ValuatorMask mask;
-
-    XI_VERIFY_VALUATORS(num_valuators);
-
-    valuator_mask_set_range(&mask, first_valuator, num_valuators, valuators);
-    xf86PostKeyEventM(device, key_code, is_down, is_absolute, &mask);
+    xf86PostKeyEventM(device, key_code, is_down);
 }
 
 void
-xf86PostKeyEventM(DeviceIntPtr device,
-                  unsigned int key_code,
-                  int is_down, int is_absolute, const ValuatorMask *mask)
+xf86PostKeyEventM(DeviceIntPtr device, unsigned int key_code, int is_down)
 {
 #if XFreeXDGA
     DeviceIntPtr pointer;
@@ -1382,8 +1356,7 @@ xf86PostKeyEventM(DeviceIntPtr device,
     }
 #endif
 
-    QueueKeyboardEvents(device,
-                        is_down ? KeyPress : KeyRelease, key_code, mask);
+    QueueKeyboardEvents(device, is_down ? KeyPress : KeyRelease, key_code);
 }
 
 void
@@ -1392,7 +1365,7 @@ xf86PostKeyboardEvent(DeviceIntPtr device, unsigned int key_code, int is_down)
     ValuatorMask mask;
 
     valuator_mask_zero(&mask);
-    xf86PostKeyEventM(device, key_code, is_down, 0, &mask);
+    xf86PostKeyEventM(device, key_code, is_down);
 }
 
 InputInfoPtr
diff --git a/hw/xfree86/common/xf86Xinput.h b/hw/xfree86/common/xf86Xinput.h
index 42d66d2..0024053 100644
--- a/hw/xfree86/common/xf86Xinput.h
+++ b/hw/xfree86/common/xf86Xinput.h
@@ -148,18 +148,11 @@ extern _X_EXPORT void xf86PostButtonEventM(DeviceIntPtr device, int is_absolute,
                                            int button, int is_down,
                                            const ValuatorMask *mask);
 extern _X_EXPORT void xf86PostKeyEvent(DeviceIntPtr device,
-                                       unsigned int key_code, int is_down,
-                                       int is_absolute, int first_valuator,
-                                       int num_valuators, ...);
+                                       unsigned int key_code, int is_down);
 extern _X_EXPORT void xf86PostKeyEventM(DeviceIntPtr device,
-                                        unsigned int key_code, int is_down,
-                                        int is_absolute,
-                                        const ValuatorMask *mask);
+                                        unsigned int key_code, int is_down);
 extern _X_EXPORT void xf86PostKeyEventP(DeviceIntPtr device,
-                                        unsigned int key_code, int is_down,
-                                        int is_absolute, int first_valuator,
-                                        int num_valuators,
-                                        const int *valuators);
+                                        unsigned int key_code, int is_down);
 extern _X_EXPORT void xf86PostKeyboardEvent(DeviceIntPtr device,
                                             unsigned int key_code, int is_down);
 extern _X_EXPORT void xf86PostTouchEvent(DeviceIntPtr dev, uint32_t touchid,
diff --git a/hw/xnest/Events.c b/hw/xnest/Events.c
index 3ff095b..f727557 100644
--- a/hw/xnest/Events.c
+++ b/hw/xnest/Events.c
@@ -103,7 +103,7 @@ void
 xnestQueueKeyEvent(int type, unsigned int keycode)
 {
     lastEventTime = GetTimeInMillis();
-    QueueKeyboardEvents(xnestKeyboardDevice, type, keycode, NULL);
+    QueueKeyboardEvents(xnestKeyboardDevice, type, keycode);
 }
 
 void
diff --git a/hw/xquartz/darwinEvents.c b/hw/xquartz/darwinEvents.c
index 5a5e4da..9bf2f14 100644
--- a/hw/xquartz/darwinEvents.c
+++ b/hw/xquartz/darwinEvents.c
@@ -456,8 +456,7 @@ DarwinInputReleaseButtonsAndKeys(DeviceIntPtr pDev)
         if (pDev->key) {
             for (i = 0; i < NUM_KEYCODES; i++) {
                 if (BitIsOn(pDev->key->down, i + MIN_KEYCODE)) {
-                    QueueKeyboardEvents(pDev, KeyRelease, i + MIN_KEYCODE,
-                                        NULL);
+                    QueueKeyboardEvents(pDev, KeyRelease, i + MIN_KEYCODE);
                 }
             }
         }
@@ -611,8 +610,7 @@ DarwinSendKeyboardEvents(int ev_type, int keycode)
 
     darwinEvents_lock();
     {
-        QueueKeyboardEvents(darwinKeyboard, ev_type, keycode + MIN_KEYCODE,
-                            NULL);
+        QueueKeyboardEvents(darwinKeyboard, ev_type, keycode + MIN_KEYCODE);
         DarwinPokeEQ();
     } darwinEvents_unlock();
 }
diff --git a/hw/xwayland/xwayland-input.c b/hw/xwayland/xwayland-input.c
index 5e20418..cc3bc53 100644
--- a/hw/xwayland/xwayland-input.c
+++ b/hw/xwayland/xwayland-input.c
@@ -323,7 +323,6 @@ keyboard_handle_key(void *data, struct wl_keyboard *keyboard, uint32_t serial,
 {
     struct xwl_seat *xwl_seat = data;
     uint32_t *k, *end;
-    ValuatorMask mask;
 
     xwl_seat->xwl_screen->serial = serial;
 
@@ -338,9 +337,8 @@ keyboard_handle_key(void *data, struct wl_keyboard *keyboard, uint32_t serial,
         *k = key;
     }
 
-    valuator_mask_zero(&mask);
     QueueKeyboardEvents(xwl_seat->keyboard,
-                        state ? KeyPress : KeyRelease, key + 8, &mask);
+                        state ? KeyPress : KeyRelease, key + 8);
 }
 
 static void
@@ -393,16 +391,14 @@ keyboard_handle_enter(void *data, struct wl_keyboard *keyboard,
                       struct wl_surface *surface, struct wl_array *keys)
 {
     struct xwl_seat *xwl_seat = data;
-    ValuatorMask mask;
     uint32_t *k;
 
     xwl_seat->xwl_screen->serial = serial;
     xwl_seat->keyboard_focus = surface;
 
     wl_array_copy(&xwl_seat->keys, keys);
-    valuator_mask_zero(&mask);
     wl_array_for_each(k, &xwl_seat->keys)
-        QueueKeyboardEvents(xwl_seat->keyboard, KeyPress, *k + 8, &mask);
+        QueueKeyboardEvents(xwl_seat->keyboard, KeyPress, *k + 8);
 }
 
 static void
@@ -410,14 +406,12 @@ keyboard_handle_leave(void *data, struct wl_keyboard *keyboard,
                       uint32_t serial, struct wl_surface *surface)
 {
     struct xwl_seat *xwl_seat = data;
-    ValuatorMask mask;
     uint32_t *k;
 
     xwl_seat->xwl_screen->serial = serial;
 
-    valuator_mask_zero(&mask);
     wl_array_for_each(k, &xwl_seat->keys)
-        QueueKeyboardEvents(xwl_seat->keyboard, KeyRelease, *k + 8, &mask);
+        QueueKeyboardEvents(xwl_seat->keyboard, KeyRelease, *k + 8);
 
     xwl_seat->keyboard_focus = NULL;
 }
diff --git a/hw/xwin/winkeybd.c b/hw/xwin/winkeybd.c
index 3a75ab2..e7202a6 100644
--- a/hw/xwin/winkeybd.c
+++ b/hw/xwin/winkeybd.c
@@ -502,7 +502,7 @@ winSendKeyEvent(DWORD dwKey, Bool fDown)
     g_winKeyState[dwKey] = fDown;
 
     QueueKeyboardEvents(g_pwinKeyboard, fDown ? KeyPress : KeyRelease,
-                        dwKey + MIN_KEYCODE, NULL);
+                        dwKey + MIN_KEYCODE);
 
     winDebug("winSendKeyEvent: dwKey: %d, fDown: %d\n", dwKey, fDown);
 }
diff --git a/include/input.h b/include/input.h
index bf22dc7..cb83cac 100644
--- a/include/input.h
+++ b/include/input.h
@@ -448,12 +448,11 @@ extern _X_EXPORT void QueuePointerEvents(DeviceIntPtr pDev,
 extern _X_EXPORT int GetKeyboardEvents(InternalEvent *events,
                                        DeviceIntPtr pDev,
                                        int type,
-                                       int key_code, const ValuatorMask *mask);
+                                       int key_code);
 
 extern _X_EXPORT void QueueKeyboardEvents(DeviceIntPtr pDev,
                                           int type,
-                                          int key_code,
-                                          const ValuatorMask *mask);
+                                          int key_code);
 
 extern int GetTouchEvents(InternalEvent *events,
                           DeviceIntPtr pDev,
commit 9d9bd38fe1454590c303dc936ddac913808bf881
Author: Dave Airlie <airlied at redhat.com>
Date:   Tue Feb 17 14:40:27 2015 +1000

    os/access: fix regression in server interpreted auth
    
    This was reported on irc on Fedora when rawhide went to 1.17.1.
    
    regression occured in: 2566835b4374edb3e5a8353d4f7c9e7ec4851c57
     os: Eliminate uninitialized value warnings from access.c
    
    siAddrMatch doesn't need addr to be a useful value, it checks
    some things like localuser without having an address at all.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>
    Tested-by: Peter Hutterer <peter.hutterer at who-t.net>
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>

diff --git a/os/access.c b/os/access.c
index 28f2d32..8fa028e 100644
--- a/os/access.c
+++ b/os/access.c
@@ -1392,7 +1392,7 @@ InvalidHost(register struct sockaddr *saddr, int len, ClientPtr client)
     }
     for (host = validhosts; host; host = host->next) {
         if (host->family == FamilyServerInterpreted) {
-            if (addr && siAddrMatch(family, addr, len, host, client)) {
+            if (siAddrMatch(family, addr, len, host, client)) {
                 return 0;
             }
         }


More information about the xorg-commit mailing list