Bug 35611 - Can't change bell parameters (xset b)
Summary: Can't change bell parameters (xset b)
Status: RESOLVED DUPLICATE of bug 27926
Alias: None
Product: xorg
Classification: Unclassified
Component: Server/General (show other bugs)
Version: 7.5 (2009.10)
Hardware: Other All
: medium normal
Assignee: Xorg Project Team
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-03-23 20:21 UTC by Bryan Henderson
Modified: 2011-03-24 07:24 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Bryan Henderson 2011-03-23 20:21:18 UTC
There is a simple typo in xorg-server-1.7.1 that prevents some bell parameter changes from having effect.

ProcChangeKeyboardControl() fails to copy the master setting to the slave.  Because of a separate problem where the server rings the bell through both the master and the slave, and on x86, it's the same physical bell, the slave action often just overrides the master.

Bug 25801 is not this.  There is something more basic wrong with the way bells work in the master/slave world, but this one is just an isolated coding error.

--- xorg-server-1.7.1/dix/devices.c     2009-10-23 04:53:21.000000000 +0000
+++ xorg-server/dix/devices.c   2011-03-05 22:51:37.000000000 +0000
@@ -1940,7 +1940,7 @@
     }

     for (pDev = inputInfo.devices; pDev; pDev = pDev->next) {
-        if ((pDev == keyboard || (!IsMaster(keyboard) && pDev->u.master == key\
board)) &&
+        if ((pDev == keyboard || (!IsMaster(pDev) && pDev->u.master == keyboar\
d)) &&
             pDev->kbdfeed && pDev->kbdfeed->CtrlProc) {
             ret = DoChangeKeyboardControl(client, pDev, vlist, vmask);
             if (ret != Success)
Comment 1 Alan Coopersmith 2011-03-24 07:24:12 UTC
Already fixed last year:
http://cgit.freedesktop.org/xorg/xserver/commit/?id=968a79dcf5e17ac3963953ef56b8f94dbd75323b

*** This bug has been marked as a duplicate of bug 27926 ***


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.