gdk/wayland: Mark matched settings from the portal as valid

Commit e6209de962 added some checks on TranslationEntry.valid in
order to figure out whether using the new font settings or the
old g-s-d ones. However that's only set in the non-sandboxed case.

This makes sandboxed applications fallback to the old (and also
non-existing with modern g-s-d) settings, possibly resulting in
ugly defaults being picked.

Fix this by also marking TranslationEntry elements as valid when
using the settings portal, precisely those entries that we are able
to read and match with our own table.
This commit is contained in:
Carlos Garnacho 2021-01-14 15:47:36 +01:00
parent 285a91715d
commit 97b5fad131

View File

@ -1836,6 +1836,7 @@ settings_portal_changed (GDBusProxy *proxy,
char *a = g_variant_print (value, FALSE); char *a = g_variant_print (value, FALSE);
g_debug ("Using changed portal setting %s %s: %s", namespace, name, a); g_debug ("Using changed portal setting %s %s: %s", namespace, name, a);
g_free (a); g_free (a);
entry->valid = TRUE;
apply_portal_setting (entry, value, display); apply_portal_setting (entry, value, display);
gdk_display_setting_changed (display, entry->setting); gdk_display_setting_changed (display, entry->setting);
} }