Revert "xkb: drop obsolete parameter from XkbRF_Free()"

This reverts commit abfbc76824.

Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2046>
This commit is contained in:
Alan Coopersmith 2025-07-12 11:47:06 -07:00
parent 239b212c65
commit 8f184bb6ca
3 changed files with 11 additions and 6 deletions

View file

@ -436,14 +436,14 @@ XkbDDXNamesFromRules(DeviceIntPtr keybd,
if (!XkbRF_LoadRules(file, rules)) {
LogMessage(X_ERROR, "XKB: Couldn't parse rules file %s\n", rules_name);
fclose(file);
XkbRF_Free(rules);
XkbRF_Free(rules, TRUE);
return FALSE;
}
memset(names, 0, sizeof(*names));
complete = XkbRF_GetComponents(rules, defs, names);
fclose(file);
XkbRF_Free(rules);
XkbRF_Free(rules, TRUE);
if (!complete)
LogMessage(X_ERROR, "XKB: Rules returned no components\n");

View file

@ -969,7 +969,7 @@ XkbRF_LoadRules(FILE * file, XkbRF_RulesPtr rules)
}
void
XkbRF_Free(XkbRF_RulesPtr rules)
XkbRF_Free(XkbRF_RulesPtr rules, Bool freeRules)
{
int i;
XkbRF_RulePtr rule;
@ -988,8 +988,11 @@ XkbRF_Free(XkbRF_RulesPtr rules)
free((void *) rule->types);
free((void *) rule->compat);
free((void *) rule->geometry);
memset((char *) rule, 0, sizeof(XkbRF_RuleRec));
}
free(rules->rules);
rules->num_rules = rules->sz_rules = 0;
rules->rules = NULL;
}
if (rules->groups) {
@ -998,8 +1001,10 @@ XkbRF_Free(XkbRF_RulesPtr rules)
free(group->words);
}
free(rules->groups);
rules->num_groups = 0;
rules->groups = NULL;
}
free(rules);
if (freeRules)
free(rules);
return;
}

View file

@ -56,6 +56,6 @@ static inline XkbRF_RulesPtr XkbRF_Create(void)
return calloc(1, sizeof(XkbRF_RulesRec));
}
void XkbRF_Free(XkbRF_RulesPtr rules);
void XkbRF_Free(XkbRF_RulesPtr rules, Bool freeRules);
#endif /* _XSERVER_XKB_XKBRULES_PRIV_H */