d/patches: Backport font settings bug fixes recommended by upstream

This commit is contained in:
Simon McVittie 2021-02-22 17:50:13 +00:00
parent 6bcd3972fe
commit 14aa29ea25
4 changed files with 78 additions and 0 deletions

6
debian/changelog vendored
View File

@ -1,3 +1,9 @@
gtk+3.0 (3.24.24-3) unstable; urgency=medium
* d/patches: Backport font settings bug fixes recommended by upstream
-- Simon McVittie <smcv@debian.org> Mon, 22 Feb 2021 17:51:13 +0000
gtk+3.0 (3.24.24-2) unstable; urgency=medium
* d/watch: Cope with "+" being escaped to "%2B" in links to tarballs

View File

@ -0,0 +1,37 @@
From: Carlos Garnacho <carlosg@gnome.org>
Date: Thu, 18 Feb 2021 16:26:50 +0100
Subject: gdk/wayland: Look for font settings recursively
Use the infrastructure already available to look up keys, instead.
This does the right thing and looks up the setting across all
sources.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3680
Origin: upstream, 3.24.26, commit:4d30400987d013b410bdff33f92bf67e2b814aa9
---
gdk/wayland/gdkscreen-wayland.c | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/gdk/wayland/gdkscreen-wayland.c b/gdk/wayland/gdkscreen-wayland.c
index e52f917..084c1e3 100644
--- a/gdk/wayland/gdkscreen-wayland.c
+++ b/gdk/wayland/gdkscreen-wayland.c
@@ -380,15 +380,11 @@ update_xft_settings (GdkScreen *screen)
}
else
{
- GSettingsSchemaSource *source;
- GSettingsSchema *schema;
+ TranslationEntry *entry;
- source = g_settings_schema_source_get_default ();
- schema = g_settings_schema_source_lookup (source,
- "org.gnome.desktop.interface",
- FALSE);
+ entry = find_translation_entry_by_schema ("org.gnome.desktop.interface", "font-antialiasing");
- if (schema && g_settings_schema_has_key (schema, "font-antialiasing"))
+ if (entry && entry->valid)
{
settings = g_hash_table_lookup (screen_wayland->settings,
"org.gnome.desktop.interface");

View File

@ -0,0 +1,33 @@
From: Carlos Garnacho <carlosg@gnome.org>
Date: Thu, 14 Jan 2021 15:47:36 +0100
Subject: gdk/wayland: Mark matched settings from the portal as valid
Commit e6209de9625 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.
Origin: upstream, 3.24.25, commit:02a02fac56f3291108c987bb0448406478150056
---
gdk/wayland/gdkscreen-wayland.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/gdk/wayland/gdkscreen-wayland.c b/gdk/wayland/gdkscreen-wayland.c
index 01e420c..e52f917 100644
--- a/gdk/wayland/gdkscreen-wayland.c
+++ b/gdk/wayland/gdkscreen-wayland.c
@@ -765,6 +765,7 @@ init_settings (GdkScreen *screen)
char *a = g_variant_print (v, FALSE);
g_debug ("Using portal setting for %s %s: %s\n", schema, key, a);
g_free (a);
+ entry->valid = TRUE;
apply_portal_setting (entry, v, screen);
}
else

View File

@ -1,3 +1,5 @@
gdk-wayland-Mark-matched-settings-from-the-portal-as-vali.patch
gdk-wayland-Look-for-font-settings-recursively.patch
updateiconcache-Sort-list-of-entries.patch
gdk-Don-t-distribute-generated-files-in-tarballs.patch
gtk-Really-don-t-distribute-built-files.patch