From bf6679cba40a936d46008c886d204ed521a4971a Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Sun, 13 Apr 2008 08:28:07 +0930 Subject: [PATCH] Xi: copy the XkbSrvLedInfo too when copying device classes. --- Xi/exevents.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/Xi/exevents.c b/Xi/exevents.c index a93fef452..815eb7c6c 100644 --- a/Xi/exevents.c +++ b/Xi/exevents.c @@ -263,7 +263,11 @@ DeepCopyFeedbackClasses(DeviceIntPtr from, DeviceIntPtr to) (*k)->BellProc = it->BellProc; (*k)->CtrlProc = it->CtrlProc; (*k)->ctrl = it->ctrl; - /* XXX: xkb_sli needs to be copied */ +#ifdef XKB + if ((*k)->xkb_sli) + XkbFreeSrvLedInfo((*k)->xkb_sli); + (*k)->xkb_sli = XkbCopySrvLedInfo(from, it->xkb_sli, *k, NULL); +#endif k = &(*k)->next; } @@ -289,7 +293,6 @@ DeepCopyFeedbackClasses(DeviceIntPtr from, DeviceIntPtr to) } (*p)->CtrlProc = it->CtrlProc; (*p)->ctrl = it->ctrl; - /* XXX: xkb_sli needs to be copied */ p = &(*p)->next; } @@ -391,7 +394,11 @@ DeepCopyFeedbackClasses(DeviceIntPtr from, DeviceIntPtr to) } (*l)->CtrlProc = it->CtrlProc; (*l)->ctrl = it->ctrl; - /* XXX: xkb_sli needs to be copied */ +#ifdef XKB + if ((*l)->xkb_sli) + XkbFreeSrvLedInfo((*l)->xkb_sli); + (*l)->xkb_sli = XkbCopySrvLedInfo(from, it->xkb_sli, NULL, *l); +#endif l = &(*l)->next; }