summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/locale/localed.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/locale/localed.c b/src/locale/localed.c
index e3061c8d5e..358f6c200e 100644
--- a/src/locale/localed.c
+++ b/src/locale/localed.c
@@ -712,15 +712,16 @@ static int find_legacy_keymap(Context *c, char **new_keymap) {
}
}
- if (matching > 0 &&
- streq_ptr(c->x11_model, a[2])) {
- matching++;
-
- if (streq_ptr(c->x11_variant, a[3])) {
+ if (matching > 0) {
+ if (isempty(c->x11_model) || streq_ptr(c->x11_model, a[2])) {
matching++;
- if (streq_ptr(c->x11_options, a[4]))
+ if (streq_ptr(c->x11_variant, a[3])) {
matching++;
+
+ if (streq_ptr(c->x11_options, a[4]))
+ matching++;
+ }
}
}