From 9b17452909d3140fa33a753cadfaa6e9006b9685 Mon Sep 17 00:00:00 2001 From: marha Date: Mon, 14 Dec 2009 10:22:19 +0000 Subject: Git update 14/12/2009 --- xorg-server/xkb/xkb.c | 12 ++++++++---- xorg-server/xkb/xkbLEDs.c | 12 +++++++----- 2 files changed, 15 insertions(+), 9 deletions(-) (limited to 'xorg-server/xkb') diff --git a/xorg-server/xkb/xkb.c b/xorg-server/xkb/xkb.c index 98e879ddb..35f8d1cbd 100644 --- a/xorg-server/xkb/xkb.c +++ b/xorg-server/xkb/xkb.c @@ -3273,20 +3273,21 @@ _XkbFindNamedIndicatorMap(XkbSrvLedInfoPtr sli, Atom indicator, int *led_return) { XkbIndicatorMapPtr map; - int led; /* search for the right indicator */ map = NULL; if (sli->names && sli->maps) { + int led; + for (led = 0; (led < XkbNumIndicators) && (map == NULL); led++) { if (sli->names[led] == indicator) { map= &sli->maps[led]; + *led_return = led; break; } } } - *led_return = led; return map; } @@ -4298,9 +4299,12 @@ ProcXkbSetNames(ClientPtr client) static char * XkbWriteCountedString(char *wire,char *str,Bool swap) { -CARD16 len,*pLen; + CARD16 len,*pLen; + + if (!str) + return wire; - len= (str?strlen(str):0); + len= strlen(str); pLen= (CARD16 *)wire; *pLen= len; if (swap) { diff --git a/xorg-server/xkb/xkbLEDs.c b/xorg-server/xkb/xkbLEDs.c index 59cdba416..6ca80d784 100644 --- a/xorg-server/xkb/xkbLEDs.c +++ b/xorg-server/xkb/xkbLEDs.c @@ -745,12 +745,14 @@ XkbFlushLedEvents( DeviceIntPtr dev, XkbDDXAccessXBeep(dev, _BEEP_LED_OFF, XkbAccessXFeedbackMask); } } - if (ed && (ed->reason)) { - if ((dev!=kbd)&&(ed->reason&XkbXI_IndicatorStateMask)) - XkbDDXUpdateDeviceIndicators(dev,sli,sli->effectiveState); - XkbSendExtensionDeviceNotify(dev,cause->client,ed); + if (ed) { + if (ed->reason) { + if ((dev!=kbd)&&(ed->reason&XkbXI_IndicatorStateMask)) + XkbDDXUpdateDeviceIndicators(dev,sli,sli->effectiveState); + XkbSendExtensionDeviceNotify(dev,cause->client,ed); + } + bzero((char *)ed,sizeof(XkbExtensionDeviceNotify)); } - bzero((char *)ed,sizeof(XkbExtensionDeviceNotify)); return; } -- cgit v1.2.3