xserver: Branch 'master'

Alan Coopersmith alanc at kemper.freedesktop.org
Sun May 3 20:12:40 PDT 2009


 xkb/xkb.c |    2 ++
 1 file changed, 2 insertions(+)

New commits:
commit 557dbadf3be273255e8fdb12d9321f4e88bf2b65
Author: Alan Coopersmith <alan.coopersmith at sun.com>
Date:   Sat May 2 00:26:18 2009 -0700

    XkbSetNamedIndicator should ignore SD's without LED's
    
    When ProcXkbSetNamedIndicator is called on a core device, and we
    walk the slaves to set the LED's on each of them, ignore any slaves
    that do not have either a KbdFeedbackCtrl or LedCtrl structure.
    
    (This is much more critical in xserver-1.5-branch, where we walk
     *all* devices, not just the slaves of the specified master, and
     thus return failure when setting an LED on the Core Keyboard and
     hit a xf86-input-mouse device with no LED's to set.)
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith at sun.com>
    Acked-by: Peter Hutterer <peter.hutterer at who-t.net>

diff --git a/xkb/xkb.c b/xkb/xkb.c
index e7c9a31..b2fe11c 100644
--- a/xkb/xkb.c
+++ b/xkb/xkb.c
@@ -3433,6 +3433,7 @@ ProcXkbSetNamedIndicator(ClientPtr client)
         for (other = inputInfo.devices; other; other = other->next)
         {
             if ((other != dev) && !other->isMaster && (other->u.master == dev) &&
+                (other->kbdfeed || other->leds) &&
                 (XaceHook(XACE_DEVICE_ACCESS, client, other, DixSetAttrAccess) == Success))
             {
                 rc = _XkbCreateIndicatorMap(other, stuff->indicator,
@@ -3456,6 +3457,7 @@ ProcXkbSetNamedIndicator(ClientPtr client)
         for (other = inputInfo.devices; other; other = other->next)
         {
             if ((other != dev) && !other->isMaster && (other->u.master == dev) &&
+                (other->kbdfeed || other->leds) &&
                 (XaceHook(XACE_DEVICE_ACCESS, client, other, DixSetAttrAccess) == Success))
             {
                 _XkbSetNamedIndicator(client, other, stuff);


More information about the xorg-commit mailing list