Lines Matching refs:dst

932 _XkbCopyClientMap(XkbDescPtr src, XkbDescPtr dst)  in _XkbCopyClientMap()  argument
940 if (!dst->map) { in _XkbCopyClientMap()
944 dst->map = tmp; in _XkbCopyClientMap()
948 if (src->map->size_syms != dst->map->size_syms) { in _XkbCopyClientMap()
949 tmp = reallocarray(dst->map->syms, in _XkbCopyClientMap()
953 dst->map->syms = tmp; in _XkbCopyClientMap()
956 memcpy(dst->map->syms, src->map->syms, in _XkbCopyClientMap()
960 free(dst->map->syms); in _XkbCopyClientMap()
961 dst->map->syms = NULL; in _XkbCopyClientMap()
963 dst->map->num_syms = src->map->num_syms; in _XkbCopyClientMap()
964 dst->map->size_syms = src->map->size_syms; in _XkbCopyClientMap()
967 if (src->max_key_code != dst->max_key_code) { in _XkbCopyClientMap()
968 tmp = reallocarray(dst->map->key_sym_map, in _XkbCopyClientMap()
972 dst->map->key_sym_map = tmp; in _XkbCopyClientMap()
974 memcpy(dst->map->key_sym_map, src->map->key_sym_map, in _XkbCopyClientMap()
978 free(dst->map->key_sym_map); in _XkbCopyClientMap()
979 dst->map->key_sym_map = NULL; in _XkbCopyClientMap()
983 if (src->map->num_types > dst->map->size_types || in _XkbCopyClientMap()
984 !dst->map->types || !dst->map->size_types) { in _XkbCopyClientMap()
985 if (dst->map->types && dst->map->size_types) { in _XkbCopyClientMap()
986 tmp = reallocarray(dst->map->types, src->map->num_types, in _XkbCopyClientMap()
990 dst->map->types = tmp; in _XkbCopyClientMap()
991 memset(dst->map->types + dst->map->num_types, 0, in _XkbCopyClientMap()
992 (src->map->num_types - dst->map->num_types) * in _XkbCopyClientMap()
999 dst->map->types = tmp; in _XkbCopyClientMap()
1002 else if (src->map->num_types < dst->map->num_types && in _XkbCopyClientMap()
1003 dst->map->types) { in _XkbCopyClientMap()
1004 for (i = src->map->num_types, dtype = (dst->map->types + i); in _XkbCopyClientMap()
1005 i < dst->map->num_types; i++, dtype++) { in _XkbCopyClientMap()
1017 dtype = dst->map->types; in _XkbCopyClientMap()
1022 i < dst->map->num_types) { in _XkbCopyClientMap()
1030 i >= dst->map->num_types) { in _XkbCopyClientMap()
1042 i < dst->map->num_types) in _XkbCopyClientMap()
1055 i < dst->map->num_types) { in _XkbCopyClientMap()
1064 i >= dst->map->num_types) { in _XkbCopyClientMap()
1076 if (dtype->map && i < dst->map->num_types) in _XkbCopyClientMap()
1084 i < dst->map->num_types) { in _XkbCopyClientMap()
1093 i >= dst->map->num_types) { in _XkbCopyClientMap()
1105 if (dtype->preserve && i < dst->map->num_types) in _XkbCopyClientMap()
1113 if (dtype->map_count && i < dst->map->num_types) { in _XkbCopyClientMap()
1123 dst->map->size_types = src->map->num_types; in _XkbCopyClientMap()
1124 dst->map->num_types = src->map->num_types; in _XkbCopyClientMap()
1127 if (dst->map->types) { in _XkbCopyClientMap()
1128 for (i = 0, dtype = dst->map->types; i < dst->map->num_types; in _XkbCopyClientMap()
1137 free(dst->map->types); in _XkbCopyClientMap()
1138 dst->map->types = NULL; in _XkbCopyClientMap()
1139 dst->map->num_types = 0; in _XkbCopyClientMap()
1140 dst->map->size_types = 0; in _XkbCopyClientMap()
1144 if (src->max_key_code != dst->max_key_code) { in _XkbCopyClientMap()
1145 tmp = realloc(dst->map->modmap, src->max_key_code + 1); in _XkbCopyClientMap()
1148 dst->map->modmap = tmp; in _XkbCopyClientMap()
1150 memcpy(dst->map->modmap, src->map->modmap, src->max_key_code + 1); in _XkbCopyClientMap()
1153 free(dst->map->modmap); in _XkbCopyClientMap()
1154 dst->map->modmap = NULL; in _XkbCopyClientMap()
1158 if (dst->map) in _XkbCopyClientMap()
1159 XkbFreeClientMap(dst, XkbAllClientInfoMask, TRUE); in _XkbCopyClientMap()
1166 _XkbCopyServerMap(XkbDescPtr src, XkbDescPtr dst) in _XkbCopyServerMap() argument
1172 if (!dst->server) { in _XkbCopyServerMap()
1176 dst->server = tmp; in _XkbCopyServerMap()
1180 if (src->max_key_code != dst->max_key_code) { in _XkbCopyServerMap()
1181 tmp = realloc(dst->server->explicit, src->max_key_code + 1); in _XkbCopyServerMap()
1184 dst->server->explicit = tmp; in _XkbCopyServerMap()
1186 memcpy(dst->server->explicit, src->server->explicit, in _XkbCopyServerMap()
1190 free(dst->server->explicit); in _XkbCopyServerMap()
1191 dst->server->explicit = NULL; in _XkbCopyServerMap()
1195 if (src->server->size_acts != dst->server->size_acts) { in _XkbCopyServerMap()
1196 tmp = reallocarray(dst->server->acts, in _XkbCopyServerMap()
1200 dst->server->acts = tmp; in _XkbCopyServerMap()
1202 memcpy(dst->server->acts, src->server->acts, in _XkbCopyServerMap()
1206 free(dst->server->acts); in _XkbCopyServerMap()
1207 dst->server->acts = NULL; in _XkbCopyServerMap()
1209 dst->server->size_acts = src->server->size_acts; in _XkbCopyServerMap()
1210 dst->server->num_acts = src->server->num_acts; in _XkbCopyServerMap()
1213 if (src->max_key_code != dst->max_key_code) { in _XkbCopyServerMap()
1214 tmp = reallocarray(dst->server->key_acts, in _XkbCopyServerMap()
1218 dst->server->key_acts = tmp; in _XkbCopyServerMap()
1220 memcpy(dst->server->key_acts, src->server->key_acts, in _XkbCopyServerMap()
1224 free(dst->server->key_acts); in _XkbCopyServerMap()
1225 dst->server->key_acts = NULL; in _XkbCopyServerMap()
1229 if (src->max_key_code != dst->max_key_code) { in _XkbCopyServerMap()
1230 tmp = reallocarray(dst->server->behaviors, in _XkbCopyServerMap()
1234 dst->server->behaviors = tmp; in _XkbCopyServerMap()
1236 memcpy(dst->server->behaviors, src->server->behaviors, in _XkbCopyServerMap()
1240 free(dst->server->behaviors); in _XkbCopyServerMap()
1241 dst->server->behaviors = NULL; in _XkbCopyServerMap()
1244 memcpy(dst->server->vmods, src->server->vmods, XkbNumVirtualMods); in _XkbCopyServerMap()
1247 if (src->max_key_code != dst->max_key_code) { in _XkbCopyServerMap()
1248 tmp = reallocarray(dst->server->vmodmap, in _XkbCopyServerMap()
1252 dst->server->vmodmap = tmp; in _XkbCopyServerMap()
1254 memcpy(dst->server->vmodmap, src->server->vmodmap, in _XkbCopyServerMap()
1258 free(dst->server->vmodmap); in _XkbCopyServerMap()
1259 dst->server->vmodmap = NULL; in _XkbCopyServerMap()
1263 if (dst->server) in _XkbCopyServerMap()
1264 XkbFreeServerMap(dst, XkbAllServerInfoMask, TRUE); in _XkbCopyServerMap()
1271 _XkbCopyNames(XkbDescPtr src, XkbDescPtr dst) in _XkbCopyNames() argument
1277 if (!dst->names) { in _XkbCopyNames()
1278 dst->names = calloc(1, sizeof(XkbNamesRec)); in _XkbCopyNames()
1279 if (!dst->names) in _XkbCopyNames()
1284 if (src->max_key_code != dst->max_key_code) { in _XkbCopyNames()
1285 tmp = reallocarray(dst->names->keys, src->max_key_code + 1, in _XkbCopyNames()
1289 dst->names->keys = tmp; in _XkbCopyNames()
1291 memcpy(dst->names->keys, src->names->keys, in _XkbCopyNames()
1295 free(dst->names->keys); in _XkbCopyNames()
1296 dst->names->keys = NULL; in _XkbCopyNames()
1300 if (src->names->num_key_aliases != dst->names->num_key_aliases) { in _XkbCopyNames()
1301 tmp = reallocarray(dst->names->key_aliases, in _XkbCopyNames()
1306 dst->names->key_aliases = tmp; in _XkbCopyNames()
1308 memcpy(dst->names->key_aliases, src->names->key_aliases, in _XkbCopyNames()
1312 free(dst->names->key_aliases); in _XkbCopyNames()
1313 dst->names->key_aliases = NULL; in _XkbCopyNames()
1315 dst->names->num_key_aliases = src->names->num_key_aliases; in _XkbCopyNames()
1318 if (src->names->num_rg != dst->names->num_rg) { in _XkbCopyNames()
1319 tmp = reallocarray(dst->names->radio_groups, in _XkbCopyNames()
1323 dst->names->radio_groups = tmp; in _XkbCopyNames()
1325 memcpy(dst->names->radio_groups, src->names->radio_groups, in _XkbCopyNames()
1329 free(dst->names->radio_groups); in _XkbCopyNames()
1331 dst->names->num_rg = src->names->num_rg; in _XkbCopyNames()
1333 dst->names->keycodes = src->names->keycodes; in _XkbCopyNames()
1334 dst->names->geometry = src->names->geometry; in _XkbCopyNames()
1335 dst->names->symbols = src->names->symbols; in _XkbCopyNames()
1336 dst->names->types = src->names->types; in _XkbCopyNames()
1337 dst->names->compat = src->names->compat; in _XkbCopyNames()
1338 dst->names->phys_symbols = src->names->phys_symbols; in _XkbCopyNames()
1340 memcpy(dst->names->vmods, src->names->vmods, in _XkbCopyNames()
1342 memcpy(dst->names->indicators, src->names->indicators, in _XkbCopyNames()
1344 memcpy(dst->names->groups, src->names->groups, in _XkbCopyNames()
1348 if (dst->names) in _XkbCopyNames()
1349 XkbFreeNames(dst, XkbAllNamesMask, TRUE); in _XkbCopyNames()
1356 _XkbCopyCompat(XkbDescPtr src, XkbDescPtr dst) in _XkbCopyCompat() argument
1362 if (!dst->compat) { in _XkbCopyCompat()
1363 dst->compat = calloc(1, sizeof(XkbCompatMapRec)); in _XkbCopyCompat()
1364 if (!dst->compat) in _XkbCopyCompat()
1369 if (src->compat->num_si != dst->compat->size_si) { in _XkbCopyCompat()
1370 tmp = reallocarray(dst->compat->sym_interpret, in _XkbCopyCompat()
1375 dst->compat->sym_interpret = tmp; in _XkbCopyCompat()
1377 memcpy(dst->compat->sym_interpret, src->compat->sym_interpret, in _XkbCopyCompat()
1380 dst->compat->num_si = src->compat->num_si; in _XkbCopyCompat()
1381 dst->compat->size_si = src->compat->num_si; in _XkbCopyCompat()
1384 if (dst->compat->sym_interpret && dst->compat->size_si) in _XkbCopyCompat()
1385 free(dst->compat->sym_interpret); in _XkbCopyCompat()
1387 dst->compat->sym_interpret = NULL; in _XkbCopyCompat()
1388 dst->compat->num_si = 0; in _XkbCopyCompat()
1389 dst->compat->size_si = 0; in _XkbCopyCompat()
1392 memcpy(dst->compat->groups, src->compat->groups, in _XkbCopyCompat()
1396 if (dst->compat) in _XkbCopyCompat()
1397 XkbFreeCompatMap(dst, XkbAllCompatMask, TRUE); in _XkbCopyCompat()
1404 _XkbCopyGeom(XkbDescPtr src, XkbDescPtr dst) in _XkbCopyGeom() argument
1418 if (!dst->geom) { in _XkbCopyGeom()
1419 dst->geom = calloc(sizeof(XkbGeometryRec), 1); in _XkbCopyGeom()
1420 if (!dst->geom) in _XkbCopyGeom()
1429 if (src->geom->num_properties < dst->geom->sz_properties) { in _XkbCopyGeom()
1431 dst->geom->properties + i; i < dst->geom->num_properties; in _XkbCopyGeom()
1440 ((void **) &dst->geom->properties, dst->geom->sz_properties, in _XkbCopyGeom()
1446 dst->geom->sz_properties = src->geom->num_properties; in _XkbCopyGeom()
1450 dprop = dst->geom->properties; in _XkbCopyGeom()
1452 if (i < dst->geom->num_properties) { in _XkbCopyGeom()
1475 dst->geom->num_properties = dst->geom->sz_properties; in _XkbCopyGeom()
1478 if (dst->geom->sz_properties) { in _XkbCopyGeom()
1479 for (i = 0, dprop = dst->geom->properties; in _XkbCopyGeom()
1480 i < dst->geom->num_properties; i++, dprop++) { in _XkbCopyGeom()
1484 free(dst->geom->properties); in _XkbCopyGeom()
1485 dst->geom->properties = NULL; in _XkbCopyGeom()
1488 dst->geom->num_properties = 0; in _XkbCopyGeom()
1489 dst->geom->sz_properties = 0; in _XkbCopyGeom()
1494 if (src->geom->num_colors < dst->geom->sz_colors) { in _XkbCopyGeom()
1495 for (i = src->geom->num_colors, dcolor = dst->geom->colors + i; in _XkbCopyGeom()
1496 i < dst->geom->num_colors; i++, dcolor++) { in _XkbCopyGeom()
1503 ((void **) &dst->geom->colors, dst->geom->sz_colors, in _XkbCopyGeom()
1507 dst->geom->sz_colors = src->geom->num_colors; in _XkbCopyGeom()
1511 dcolor = dst->geom->colors; in _XkbCopyGeom()
1513 if (i < dst->geom->num_colors) { in _XkbCopyGeom()
1528 dst->geom->num_colors = dst->geom->sz_colors; in _XkbCopyGeom()
1531 if (dst->geom->sz_colors) { in _XkbCopyGeom()
1532 for (i = 0, dcolor = dst->geom->colors; in _XkbCopyGeom()
1533 i < dst->geom->num_colors; i++, dcolor++) { in _XkbCopyGeom()
1536 free(dst->geom->colors); in _XkbCopyGeom()
1537 dst->geom->colors = NULL; in _XkbCopyGeom()
1540 dst->geom->num_colors = 0; in _XkbCopyGeom()
1541 dst->geom->sz_colors = 0; in _XkbCopyGeom()
1546 if (dst->geom->num_shapes) { in _XkbCopyGeom()
1547 for (i = 0, dshape = dst->geom->shapes; in _XkbCopyGeom()
1548 i < dst->geom->num_shapes; i++, dshape++) { in _XkbCopyGeom()
1568 ((void **) &dst->geom->shapes, dst->geom->sz_shapes, in _XkbCopyGeom()
1573 for (i = 0, sshape = src->geom->shapes, dshape = dst->geom->shapes; in _XkbCopyGeom()
1640 dst->geom->num_shapes = src->geom->num_shapes; in _XkbCopyGeom()
1641 dst->geom->sz_shapes = src->geom->num_shapes; in _XkbCopyGeom()
1644 if (dst->geom->sz_shapes) { in _XkbCopyGeom()
1645 free(dst->geom->shapes); in _XkbCopyGeom()
1647 dst->geom->shapes = NULL; in _XkbCopyGeom()
1648 dst->geom->num_shapes = 0; in _XkbCopyGeom()
1649 dst->geom->sz_shapes = 0; in _XkbCopyGeom()
1655 if (dst->geom->num_sections) { in _XkbCopyGeom()
1656 for (i = 0, dsection = dst->geom->sections; in _XkbCopyGeom()
1657 i < dst->geom->num_sections; i++, dsection++) { in _XkbCopyGeom()
1685 dst->geom->num_sections = 0; in _XkbCopyGeom()
1691 ((void **) &dst->geom->sections, dst->geom->sz_sections, in _XkbCopyGeom()
1695 dst->geom->num_sections = src->geom->num_sections; in _XkbCopyGeom()
1696 dst->geom->sz_sections = src->geom->num_sections; in _XkbCopyGeom()
1700 dsection = dst->geom->sections; in _XkbCopyGeom()
1764 if (dst->geom->sz_sections) { in _XkbCopyGeom()
1765 free(dst->geom->sections); in _XkbCopyGeom()
1768 dst->geom->sections = NULL; in _XkbCopyGeom()
1769 dst->geom->num_sections = 0; in _XkbCopyGeom()
1770 dst->geom->sz_sections = 0; in _XkbCopyGeom()
1774 if (dst->geom->num_doodads) { in _XkbCopyGeom()
1776 ddoodad = dst->geom->doodads + in _XkbCopyGeom()
1778 i < dst->geom->num_doodads; i++, ddoodad++) { in _XkbCopyGeom()
1790 dst->geom->num_doodads = 0; in _XkbCopyGeom()
1796 ((void **) &dst->geom->doodads, dst->geom->sz_doodads, in _XkbCopyGeom()
1801 dst->geom->sz_doodads = src->geom->num_doodads; in _XkbCopyGeom()
1805 ddoodad = dst->geom->doodads; in _XkbCopyGeom()
1821 dst->geom->num_doodads = dst->geom->sz_doodads; in _XkbCopyGeom()
1824 if (dst->geom->sz_doodads) { in _XkbCopyGeom()
1825 free(dst->geom->doodads); in _XkbCopyGeom()
1828 dst->geom->doodads = NULL; in _XkbCopyGeom()
1829 dst->geom->num_doodads = 0; in _XkbCopyGeom()
1830 dst->geom->sz_doodads = 0; in _XkbCopyGeom()
1839 ((void **) &dst->geom->key_aliases, dst->geom->sz_key_aliases, in _XkbCopyGeom()
1844 dst->geom->sz_key_aliases = src->geom->num_key_aliases; in _XkbCopyGeom()
1846 memcpy(dst->geom->key_aliases, src->geom->key_aliases, in _XkbCopyGeom()
1849 dst->geom->num_key_aliases = dst->geom->sz_key_aliases; in _XkbCopyGeom()
1852 free(dst->geom->key_aliases); in _XkbCopyGeom()
1853 dst->geom->key_aliases = NULL; in _XkbCopyGeom()
1854 dst->geom->num_key_aliases = 0; in _XkbCopyGeom()
1855 dst->geom->sz_key_aliases = 0; in _XkbCopyGeom()
1860 if (!dst->geom->label_font) { in _XkbCopyGeom()
1864 dst->geom->label_font = tmp; in _XkbCopyGeom()
1867 strlen(dst->geom->label_font)) { in _XkbCopyGeom()
1868 tmp = realloc(dst->geom->label_font, in _XkbCopyGeom()
1872 dst->geom->label_font = tmp; in _XkbCopyGeom()
1875 strcpy(dst->geom->label_font, src->geom->label_font); in _XkbCopyGeom()
1877 dst->geom->label_color = &(dst->geom->colors[i]); in _XkbCopyGeom()
1879 dst->geom->base_color = &(dst->geom->colors[i]); in _XkbCopyGeom()
1882 free(dst->geom->label_font); in _XkbCopyGeom()
1883 dst->geom->label_font = NULL; in _XkbCopyGeom()
1884 dst->geom->label_color = NULL; in _XkbCopyGeom()
1885 dst->geom->base_color = NULL; in _XkbCopyGeom()
1888 dst->geom->name = src->geom->name; in _XkbCopyGeom()
1889 dst->geom->width_mm = src->geom->width_mm; in _XkbCopyGeom()
1890 dst->geom->height_mm = src->geom->height_mm; in _XkbCopyGeom()
1893 if (dst->geom) { in _XkbCopyGeom()
1895 XkbFreeGeometry(dst->geom, XkbGeomAllMask, TRUE); in _XkbCopyGeom()
1896 dst->geom = NULL; in _XkbCopyGeom()
1904 _XkbCopyIndicators(XkbDescPtr src, XkbDescPtr dst) in _XkbCopyIndicators() argument
1908 if (!dst->indicators) { in _XkbCopyIndicators()
1909 dst->indicators = malloc(sizeof(XkbIndicatorRec)); in _XkbCopyIndicators()
1910 if (!dst->indicators) in _XkbCopyIndicators()
1913 memcpy(dst->indicators, src->indicators, sizeof(XkbIndicatorRec)); in _XkbCopyIndicators()
1916 free(dst->indicators); in _XkbCopyIndicators()
1917 dst->indicators = NULL; in _XkbCopyIndicators()
1923 _XkbCopyControls(XkbDescPtr src, XkbDescPtr dst) in _XkbCopyControls() argument
1927 if (!dst->ctrls) { in _XkbCopyControls()
1928 dst->ctrls = malloc(sizeof(XkbControlsRec)); in _XkbCopyControls()
1929 if (!dst->ctrls) in _XkbCopyControls()
1932 memcpy(dst->ctrls, src->ctrls, sizeof(XkbControlsRec)); in _XkbCopyControls()
1935 free(dst->ctrls); in _XkbCopyControls()
1936 dst->ctrls = NULL; in _XkbCopyControls()
1957 XkbCopyKeymap(XkbDescPtr dst, XkbDescPtr src) in XkbCopyKeymap() argument
1960 if (!src || !dst) { in XkbCopyKeymap()
1961 DebugF("XkbCopyKeymap: src (%p) or dst (%p) is NULL\n", src, dst); in XkbCopyKeymap()
1965 if (src == dst) in XkbCopyKeymap()
1968 if (!_XkbCopyClientMap(src, dst)) { in XkbCopyKeymap()
1972 if (!_XkbCopyServerMap(src, dst)) { in XkbCopyKeymap()
1976 if (!_XkbCopyIndicators(src, dst)) { in XkbCopyKeymap()
1980 if (!_XkbCopyControls(src, dst)) { in XkbCopyKeymap()
1984 if (!_XkbCopyNames(src, dst)) { in XkbCopyKeymap()
1988 if (!_XkbCopyCompat(src, dst)) { in XkbCopyKeymap()
1992 if (!_XkbCopyGeom(src, dst)) { in XkbCopyKeymap()
1997 dst->min_key_code = src->min_key_code; in XkbCopyKeymap()
1998 dst->max_key_code = src->max_key_code; in XkbCopyKeymap()
2004 XkbDeviceApplyKeymap(DeviceIntPtr dst, XkbDescPtr desc) in XkbDeviceApplyKeymap() argument
2009 if (!dst->key || !desc) in XkbDeviceApplyKeymap()
2013 nkn.oldMinKeyCode = dst->key->xkbInfo->desc->min_key_code; in XkbDeviceApplyKeymap()
2014 nkn.oldMaxKeyCode = dst->key->xkbInfo->desc->max_key_code; in XkbDeviceApplyKeymap()
2015 nkn.deviceID = dst->id; in XkbDeviceApplyKeymap()
2016 nkn.oldDeviceID = dst->id; in XkbDeviceApplyKeymap()
2025 ret = XkbCopyKeymap(dst->key->xkbInfo->desc, desc); in XkbDeviceApplyKeymap()
2027 XkbSendNewKeyboardNotify(dst, &nkn); in XkbDeviceApplyKeymap()
2033 XkbCopyDeviceKeymap(DeviceIntPtr dst, DeviceIntPtr src) in XkbCopyDeviceKeymap() argument
2035 return XkbDeviceApplyKeymap(dst, src->key->xkbInfo->desc); in XkbCopyDeviceKeymap()
2103 XkbCopyControls(XkbDescPtr dst, XkbDescPtr src) in XkbCopyControls() argument
2107 if (!dst || !src) in XkbCopyControls()
2110 *dst->ctrls = *src->ctrls; in XkbCopyControls()
2112 for (nG = nTG = 0, i = dst->min_key_code; i <= dst->max_key_code; i++) { in XkbCopyControls()
2113 nG = XkbKeyNumGroups(dst, i); in XkbCopyControls()
2122 dst->ctrls->num_groups = nTG; in XkbCopyControls()