X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flocale%2Flocaled.c;h=358f6c200eef31372cafbbf44c9e7aac8b7ddd77;hb=387066c2e5bda159201896b194711965b52f34a9;hp=7a6a96f68fb1bbdc95876d18bbc2c517d59afb66;hpb=d14ab08b29d5b0b3ead6e63ac8be472f273011f9;p=elogind.git diff --git a/src/locale/localed.c b/src/locale/localed.c index 7a6a96f68..358f6c200 100644 --- a/src/locale/localed.c +++ b/src/locale/localed.c @@ -366,11 +366,11 @@ static int locale_update_system_manager(Context *c, sd_bus *bus) { } assert(c_set + c_unset == _LOCALE_MAX); - r = sd_bus_message_new_method_call(bus, + r = sd_bus_message_new_method_call(bus, &m, "org.freedesktop.systemd1", "/org/freedesktop/systemd1", "org.freedesktop.systemd1.Manager", - "UnsetAndSetEnvironment", &m); + "UnsetAndSetEnvironment"); if (r < 0) return r; @@ -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++; + } } } @@ -1088,7 +1089,7 @@ static int connect_bus(Context *c, sd_event *event, sd_bus **_bus) { 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;