aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Sibiller <uli42@gmx.de>2017-07-22 15:26:11 +0200
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2017-12-14 00:08:33 +0100
commit8b206a261c97817adf951a272035c2202f440765 (patch)
tree5a434724f575f6614e4d76da4ba11b0249aa2d23
parent1e1ea1ceae43cba0744f1c277d2fe7a6a547cf70 (diff)
downloadnx-libs-8b206a261c97817adf951a272035c2202f440765.tar.gz
nx-libs-8b206a261c97817adf951a272035c2202f440765.tar.bz2
nx-libs-8b206a261c97817adf951a272035c2202f440765.zip
Keyboard.c: Make xkblock more robust
If xorg upstream xkb gets extended one day the previous code would not block new xkb calls even if they would change keyboard settings. So only act on the currently known calls and throw an error for all unknown calls.
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Keyboard.c22
1 files changed, 21 insertions, 1 deletions
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Keyboard.c b/nx-X11/programs/Xserver/hw/nxagent/Keyboard.c
index 565153f84..22cf1b44d 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Keyboard.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Keyboard.c
@@ -1600,11 +1600,31 @@ int ProcXkbInhibited(register ClientPtr client)
{
return BadAccess;
}
- default:
+ case X_kbBell:
+ case X_kbGetCompatMap:
+ case X_kbGetControls:
+ case X_kbGetDeviceInfo:
+ case X_kbGetGeometry:
+ case X_kbGetIndicatorMap:
+ case X_kbGetIndicatorState:
+ case X_kbGetMap:
+ case X_kbGetNamedIndicator:
+ case X_kbGetNames:
+ case X_kbGetState:
+ case X_kbListComponents:
+ case X_kbPerClientFlags:
+ case X_kbSelectEvents:
+ case X_kbSetDeviceInfo:
+ case X_kbUseExtension:
{
return (client->swapped ? nxagentXkbWrapper.SProcXkbDispatchBackup(client) :
nxagentXkbWrapper.ProcXkbDispatchBackup(client));
}
+ default:
+ {
+ /* Just make sure that it works in case xkb gets extended in future */
+ return BadImplementation;
+ }
}
}