diff options
author | marha <marha@users.sourceforge.net> | 2010-02-15 08:14:29 +0000 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2010-02-15 08:14:29 +0000 |
commit | b40e949511ca8c00cd7d13c622b5247145d44ab3 (patch) | |
tree | ce21480d852a4748ad12a56f3579acf1cbc09f41 /xorg-server/Xi/exevents.c | |
parent | fb89fb367b0defb8016ac97af590a6f5873c217f (diff) | |
parent | 6f0a8e51f20073ea01ac5dae8e5c4d49076fc65e (diff) | |
download | vcxsrv-b40e949511ca8c00cd7d13c622b5247145d44ab3.tar.gz vcxsrv-b40e949511ca8c00cd7d13c622b5247145d44ab3.tar.bz2 vcxsrv-b40e949511ca8c00cd7d13c622b5247145d44ab3.zip |
svn merge ^/branches/released .
Diffstat (limited to 'xorg-server/Xi/exevents.c')
-rw-r--r-- | xorg-server/Xi/exevents.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/xorg-server/Xi/exevents.c b/xorg-server/Xi/exevents.c index 140a353cc..4aae7d6c5 100644 --- a/xorg-server/Xi/exevents.c +++ b/xorg-server/Xi/exevents.c @@ -446,6 +446,26 @@ DeepCopyKeyboardClasses(DeviceIntPtr from, DeviceIntPtr to) to->key = NULL;
}
+ /* If a SrvLedInfoPtr's flags are XkbSLI_IsDefault, the names and maps
+ * pointer point into the xkbInfo->desc struct. XkbCopySrvLedInfo
+ * didn't update the pointers so we need to do it manually here.
+ */
+ if (to->kbdfeed)
+ {
+ KbdFeedbackPtr k;
+
+ for (k = to->kbdfeed; k; k = k->next)
+ {
+ if (!k->xkb_sli)
+ continue;
+ if (k->xkb_sli->flags & XkbSLI_IsDefault)
+ {
+ k->xkb_sli->names = to->key->xkbInfo->desc->names->indicators;
+ k->xkb_sli->maps = to->key->xkbInfo->desc->indicators->maps;
+ }
+ }
+ }
+
/* We can't just copy over the focus class. When an app sets the focus,
* it'll do so on the master device. Copying the SDs focus means losing
* the focus.
|