xorg-server: Changes to 'debian-unstable'
debian/changelog | 6 ++++--
dix/getevents.c | 2 +-
xkb/xkbLEDs.c | 3 +++
3 files changed, 8 insertions(+), 3 deletions(-)
New commits:
commit 9699eee47d5467dbdf7a4920ccfabd20a2bad12b
Author: David Nusinow <dnusinow@debian.org>
Date: Thu Jan 31 22:39:15 2008 -0500
Prepare changelog for upload
diff --git a/debian/changelog b/debian/changelog
index 40243c5..ad9f99a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-xorg-server (2:1.4.1~git20080118-2) UNRELEASED; urgency=low
+xorg-server (2:1.4.1~git20080131-1) unstable; urgency=low
[ Brice Goglin ]
* Add 45_only_XF86_APM_CAPABILITY_CHANGED_for_video_change_acpi_events.diff
@@ -7,8 +7,10 @@ xorg-server (2:1.4.1~git20080118-2) UNRELEASED; urgency=low
[ David Nusinow ]
* Update Japanese translation from Hideki Yamane. closes: #462761
+ * New upstream pull
+ + Fixes crashes due to absent LED's being referenced
- -- David Nusinow <dnusinow@debian.org> Sun, 27 Jan 2008 11:18:41 -0500
+ -- David Nusinow <dnusinow@debian.org> Thu, 31 Jan 2008 21:43:12 -0500
xorg-server (2:1.4.1~git20080118-1) unstable; urgency=low
commit bc72ef3a159efd67067322c043bba444869dc356
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date: Wed Jan 30 10:39:54 2008 +1030
xkb: don't update LEDs if they don't exist. (Bug #13961)
In some weird cases we call this function when there is no SrvLedInfo on the
device. And it turns out null-pointer dereferences are bad.
X.Org Bug 13961 <http://bugs.freedesktop.org/show_bug.cgi?id=13961>
(cherry picked from commit d954f9c80348de294602d931d387e5cd1ef4b9a5)
diff --git a/xkb/xkbLEDs.c b/xkb/xkbLEDs.c
index d607d90..d28973c 100644
--- a/xkb/xkbLEDs.c
+++ b/xkb/xkbLEDs.c
@@ -63,6 +63,9 @@ XkbSrvLedInfoPtr sli;
sli= XkbFindSrvLedInfo(dev,XkbDfltXIClass,XkbDfltXIId,0);
+ if (!sli)
+ return update;
+
if (state_changes&(XkbModifierStateMask|XkbGroupStateMask))
update|= sli->usesEffective;
if (state_changes&(XkbModifierBaseMask|XkbGroupBaseMask))
commit e98027c3ac7195fec665ef393d980b02870ca1b8
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date: Tue Dec 18 13:57:07 2007 +1030
dix: set the correct number of valuators in valuator events.
(first_valuator + num_valuators) must never be larger than the number of axes,
otherwise DIX freaks out. And from looking at libXI, anything larger than 6 is
wrong too.
(cherry picked from commit 9f6ae61ad12cc2813d04405458e1ca5aed8a539e)
diff --git a/dix/getevents.c b/dix/getevents.c
index 12d8189..b7ba69b 100644
--- a/dix/getevents.c
+++ b/dix/getevents.c
@@ -344,7 +344,7 @@ getValuatorEvents(xEvent *events, DeviceIntPtr pDev, int first_valuator,
for (i = first_valuator; i < final_valuator; i += 6, xv++, events++) {
xv->type = DeviceValuator;
xv->first_valuator = i;
- xv->num_valuators = num_valuators;
+ xv->num_valuators = ((num_valuators - i) > 6) ? 6 : (num_valuators - i);
xv->deviceid = pDev->id;
switch (final_valuator - i) {
case 6:
Reply to: