From 11c27f261efc5b7a8594ad2de7bed4339f2a62ce Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Mon, 15 Feb 2010 16:32:16 +1000 Subject: [PATCH] dix: try to ring the bell even if the current device doesn't have one. (#24503) Evdev devices do not have the bell proc set, but XTEST devices do. By exiting early, the bell only rings if the last keyboard used was the XTEST keyboard and hence the bell proc is still set on the master but not if an evdev keyboard was used last. The better approach here is to try to ring the bell on all devices attached to this master device in case one or more actually do produce an audible sound. That's also XKB's behaviour if XkbUseCoreKbd is specified as device identifier. X.Org Bug 24503 Signed-off-by: Peter Hutterer Reviewed-by: Adam Jackson (cherry picked from commit 758f6971750ed507e64eee817d720a77181439f2) Signed-off-by: Peter Hutterer --- dix/devices.c | 8 -------- 1 file changed, 8 deletions(-) diff --git a/dix/devices.c b/dix/devices.c index ef199b785..87b6dc7b5 100644 --- a/dix/devices.c +++ b/dix/devices.c @@ -2019,14 +2019,6 @@ ProcBell(ClientPtr client) return BadValue; } - /* Seems like no keyboard actually has the BellProc set. Returning - * BadDevice (previous code) will make apps crash badly. The man pages - * doesn't say anything about a BadDevice being returned either. - * So just quietly do nothing and pretend everything has worked. - */ - if (!keybd->kbdfeed->BellProc) - return Success; - newpercent = (base * stuff->percent) / 100; if (stuff->percent < 0) newpercent = base + newpercent;