Skip to content

Commit

Permalink
bindsym: change xkb_rule_names initialization
Browse files Browse the repository at this point in the history
  • Loading branch information
kupospelov committed Mar 5, 2019
1 parent 28040be commit a034e53
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 17 deletions.
3 changes: 2 additions & 1 deletion include/sway/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -557,7 +557,8 @@ void merge_input_config(struct input_config *dst, struct input_config *src);

struct input_config *store_input_config(struct input_config *ic);

struct xkb_rule_names input_config_get_rule_names(struct input_config *ic);
void input_config_fill_rule_names(struct input_config *ic,
struct xkb_rule_names *rules);

void free_input_config(struct input_config *ic);

Expand Down
5 changes: 3 additions & 2 deletions sway/config.c
Original file line number Diff line number Diff line change
Expand Up @@ -321,7 +321,7 @@ static void config_defaults(struct sway_config *config) {
if (!(config->ipc_policies = create_list())) goto cleanup;

// The keysym to keycode translation
struct xkb_rule_names rules = {};
struct xkb_rule_names rules = {0};
config->keysym_translation_state =
keysym_translation_state_create(rules);

Expand Down Expand Up @@ -973,7 +973,8 @@ static void translate_bindings(list_t *bindings, list_t *bindsyms,
void translate_keysyms(struct input_config *input_config) {
keysym_translation_state_destroy(config->keysym_translation_state);

struct xkb_rule_names rules = input_config_get_rule_names(input_config);
struct xkb_rule_names rules = {0};
input_config_fill_rule_names(input_config, &rules);
config->keysym_translation_state =
keysym_translation_state_create(rules);

Expand Down
17 changes: 7 additions & 10 deletions sway/config/input.c
Original file line number Diff line number Diff line change
Expand Up @@ -179,16 +179,13 @@ struct input_config *store_input_config(struct input_config *ic) {
return ic;
}

struct xkb_rule_names input_config_get_rule_names(struct input_config *ic) {
struct xkb_rule_names rules = {
.layout = ic->xkb_layout,
.model = ic->xkb_model,
.options = ic->xkb_options,
.rules = ic->xkb_rules,
.variant = ic->xkb_variant,
};

return rules;
void input_config_fill_rule_names(struct input_config *ic,
struct xkb_rule_names *rules) {
rules->layout = ic->xkb_layout;
rules->model = ic->xkb_model;
rules->options = ic->xkb_options;
rules->rules = ic->xkb_rules;
rules->variant = ic->xkb_variant;
}

void free_input_config(struct input_config *ic) {
Expand Down
6 changes: 2 additions & 4 deletions sway/input/keyboard.c
Original file line number Diff line number Diff line change
Expand Up @@ -475,11 +475,9 @@ void sway_keyboard_configure(struct sway_keyboard *keyboard) {
struct wlr_input_device *wlr_device =
keyboard->seat_device->input_device->wlr_device;

struct xkb_rule_names rules;
struct xkb_rule_names rules = {0};
if (input_config) {
rules = input_config_get_rule_names(input_config);
} else {
memset(&rules, 0, sizeof(rules));
input_config_fill_rule_names(input_config, &rules);
}

if (!rules.layout) {
Expand Down

0 comments on commit a034e53

Please sign in to comment.