debian/changelog | 8 +++++++- dix/getevents.c | 5 ++++- hw/xfree86/common/xf86Helper.c | 14 +++++++++----- 3 files changed, 20 insertions(+), 7 deletions(-)
New commits: commit 2edac82f57463811a13a3538c92ba4cd201f6965 Author: Brice Goglin <[EMAIL PROTECTED]> Date: Fri Jul 18 00:09:22 2008 +0200 update changelog for cherry-picked patches diff --git a/debian/changelog b/debian/changelog index 12c89dd..ddb614a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,9 +1,15 @@ xorg-server (2:1.4.2-2) UNRELEASED; urgency=low + [ Julien Cristau ] * GLX: zero the buffer used in __glXDisp_GetVisualConfigs (backport from upstream). - -- Julien Cristau <[EMAIL PROTECTED]> Thu, 17 Jul 2008 16:22:04 +0200 + [ Brice Goglin ] + * Cherry-pick various patches from upstream: + - Fix incorrect test regarding keyboard map. + - xfree86: append, not prepent, new input devices to xf86InputDevs. + + -- Brice Goglin <[EMAIL PROTECTED]> Thu, 17 Jul 2008 23:22:27 +0200 xorg-server (2:1.4.2-1) unstable; urgency=low commit f1dab0b3aef8b38b1046f9a48dc327eb6d33bc0a Author: Ander Conselvan de Oliveira <[EMAIL PROTECTED]> Date: Wed Jul 9 10:44:19 2008 -0300 Fix incorrect test regarding keyboard map. In the map stored in each keyboard device, the first line refers to minimum keycode, i.e., the 0th line refers to keycode 8. When not using XKB the wrong test caused some keys to be interpreted as locks ('m' for instance). The had to be pressed twice to generate both KeyPress and KeyRelease events. Signed-off-by: Peter Hutterer <[EMAIL PROTECTED]> diff --git a/dix/getevents.c b/dix/getevents.c index c96ee68..b1376ab 100644 --- a/dix/getevents.c +++ b/dix/getevents.c @@ -406,9 +406,12 @@ GetKeyboardValuatorEvents(xEvent *events, DeviceIntPtr pDev, int type, int numEvents = 0; CARD32 ms = 0; KeySym *map = pDev->key->curKeySyms.map; - KeySym sym = map[key_code * pDev->key->curKeySyms.mapWidth]; + KeySym sym; deviceKeyButtonPointer *kbp = NULL; + sym = map[(key_code - pDev->key->curKeySyms.minKeyCode) + * pDev->key->curKeySyms.mapWidth]; + if (!events) return 0; commit 62f0f0f725d31588f22d5444aac276dc282ce1c6 Author: Peter Hutterer <[EMAIL PROTECTED]> Date: Mon Jul 14 10:20:11 2008 +0930 xfree86: append, not prepent, new input devices to xf86InputDevs. If devices are prepended to the list, their wake-up order on resume is not the same as the original initialisation order. Hot-plugged devices, originally inited last, are re-enabled before the xorg.conf devices and in some cases may steal the device files. Result: we have different devices before and after suspend/resume. RedHat Bug 439386 <https://bugzilla.redhat.com/show_bug.cgi?id=439386> diff --git a/hw/xfree86/common/xf86Helper.c b/hw/xfree86/common/xf86Helper.c index 4636af4..7adac73 100644 --- a/hw/xfree86/common/xf86Helper.c +++ b/hw/xfree86/common/xf86Helper.c @@ -326,12 +326,11 @@ xf86AllocateScrnInfoPrivateIndex(void) return idx; } -/* Allocate a new InputInfoRec and add it to the head xf86InputDevs. */ - +/* Allocate a new InputInfoRec and append it to the tail of xf86InputDevs. */ _X_EXPORT InputInfoPtr xf86AllocateInput(InputDriverPtr drv, int flags) { - InputInfoPtr new; + InputInfoPtr new, *prev = NULL; if (!(new = xcalloc(sizeof(InputInfoRec), 1))) return NULL; @@ -339,8 +338,13 @@ xf86AllocateInput(InputDriverPtr drv, int flags) new->drv = drv; drv->refCount++; new->module = DuplicateModule(drv->module, NULL); - new->next = xf86InputDevs; - xf86InputDevs = new; + + for (prev = &xf86InputDevs; *prev; prev = &(*prev)->next) + ; + + *prev = new; + new->next = NULL; + return new; } -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]