From b494b83405d677258a973e8cd31756e5fb6dea61 Mon Sep 17 00:00:00 2001 From: Philip Withnall Date: Tue, 10 Jan 2023 20:55:37 +0000 Subject: [PATCH] gsettings: Support per-desktop overrides in GSettingsAction Due to an oversight (I guess), per-desktop default values (which come from override files such as this one: https://github.com/endlessm/gnome-shell/blob/master/data/00_org.gnome.shell.gschema.override) were not checked when getting a GSettings value via a `GSettingsAction`. Per-desktop default values are correctly returned via all other GSettings query paths (see calls to `g_settings_schema_key_get_translated_default()`). Signed-off-by: Philip Withnall --- gio/gsettings.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gio/gsettings.c b/gio/gsettings.c index 12b987050..1c46afc45 100644 --- a/gio/gsettings.c +++ b/gio/gsettings.c @@ -3225,6 +3225,9 @@ g_settings_action_get_state (GAction *action) if (value == NULL) value = g_settings_schema_key_get_translated_default (&gsa->key); + if (value == NULL) + value = g_settings_schema_key_get_per_desktop_default (&gsa->key); + if (value == NULL) value = g_variant_ref (gsa->key.default_value);