diff --git a/dbus-proxy/dbus-proxy.c b/dbus-proxy/dbus-proxy.c index bd97f936..43593142 100644 --- a/dbus-proxy/dbus-proxy.c +++ b/dbus-proxy/dbus-proxy.c @@ -144,6 +144,12 @@ start_proxy (int n_args, const char *args[]) { flatpak_proxy_set_filter (proxy, TRUE); } + else if (g_str_equal (args[n], "--sloppy-names")) + { + /* This means we're reporing the name changes for all unique names, + which is needed for the a11y bus */ + flatpak_proxy_set_sloppy_names (proxy, TRUE); + } else { int res = parse_generic_args (n_args - n, &args[n]); diff --git a/dbus-proxy/flatpak-proxy.c b/dbus-proxy/flatpak-proxy.c index b99beebf..483bee10 100644 --- a/dbus-proxy/flatpak-proxy.c +++ b/dbus-proxy/flatpak-proxy.c @@ -289,6 +289,7 @@ struct FlatpakProxy char *dbus_address; gboolean filter; + gboolean sloppy_names; GHashTable *wildcard_policy; GHashTable *policy; @@ -467,6 +468,13 @@ flatpak_proxy_set_filter (FlatpakProxy *proxy, proxy->filter = filter; } +void +flatpak_proxy_set_sloppy_names (FlatpakProxy *proxy, + gboolean sloppy_names) +{ + proxy->sloppy_names = sloppy_names; +} + void flatpak_proxy_set_log_messages (FlatpakProxy *proxy, gboolean log) @@ -1729,7 +1737,8 @@ should_filter_name_owner_changed (FlatpakProxyClient *client, Buffer *buffer) old = g_variant_get_string (arg1, NULL); new = g_variant_get_string (arg2, NULL); - if (flatpak_proxy_client_get_policy (client, name) >= FLATPAK_POLICY_SEE) + if (flatpak_proxy_client_get_policy (client, name) >= FLATPAK_POLICY_SEE || + (client->proxy->sloppy_names && name[0] == ':')) { if (name[0] != ':') { diff --git a/dbus-proxy/flatpak-proxy.h b/dbus-proxy/flatpak-proxy.h index d7001e7b..e97d7499 100644 --- a/dbus-proxy/flatpak-proxy.h +++ b/dbus-proxy/flatpak-proxy.h @@ -48,6 +48,8 @@ void flatpak_proxy_set_log_messages (FlatpakProxy *proxy, gboolean log); void flatpak_proxy_set_filter (FlatpakProxy *proxy, gboolean filter); +void flatpak_proxy_set_sloppy_names (FlatpakProxy *proxy, + gboolean sloppy_names); void flatpak_proxy_add_policy (FlatpakProxy *proxy, const char *name, FlatpakPolicy policy);