[PATCH 6/6] Xi: assume BadMode for non-BadMatch errors returned from SetDeviceMode.
Peter Hutterer
peter.hutterer at who-t.net
Thu Jan 14 17:39:37 PST 2010
The XI protocol spec only allows for two errors on the SetDeviceMode
requests: BadMatch or BadMode. BadMode however is a dynamically assigned
extension error and the driver doesn't have access to the actual error
number. Hence, if a SetDeviceMode driver returns an error other than
BadMatch, assume BadMode.
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
Xi/setmode.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/Xi/setmode.c b/Xi/setmode.c
index 51e5767..cc9f7f5 100644
--- a/Xi/setmode.c
+++ b/Xi/setmode.c
@@ -112,7 +112,11 @@ ProcXSetDeviceMode(ClientPtr client)
if (rep.status == Success)
dev->valuator->mode = stuff->mode;
else if (rep.status != AlreadyGrabbed)
+ {
+ if (rep.status != BadMatch)
+ rep.status = BadMode;
return rep.status;
+ }
WriteReplyToClient(client, sizeof(xSetDeviceModeReply), &rep);
return Success;
--
1.6.6
More information about the xorg-devel
mailing list