chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
localed: consider an unset model as a wildcard
[elogind.git]
/
src
/
locale
/
localed.c
diff --git
a/src/locale/localed.c
b/src/locale/localed.c
index de6e3b2f84d5461102c430ead02d9979d40b2739..358f6c200eef31372cafbbf44c9e7aac8b7ddd77 100644
(file)
--- 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++;
matching++;
- if (streq_ptr(c->x11_
options, a[4]))
+ if (streq_ptr(c->x11_
variant, a[3])) {
matching++;
matching++;
+
+ if (streq_ptr(c->x11_options, a[4]))
+ matching++;
+ }
}
}
}
}
@@
-1088,7
+1089,7
@@
static int connect_bus(Context *c, sd_event *event, sd_bus **_bus) {
return r;
}
return r;
}
- r = sd_bus_add_object_vtable(bus, "/org/freedesktop/locale1", "org.freedesktop.locale1", locale_vtable, c);
+ r = sd_bus_add_object_vtable(bus,
NULL,
"/org/freedesktop/locale1", "org.freedesktop.locale1", locale_vtable, c);
if (r < 0) {
log_error("Failed to register object: %s", strerror(-r));
return r;
if (r < 0) {
log_error("Failed to register object: %s", strerror(-r));
return r;