summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVictor Kareh <[email protected]>2026-08-10 15:04:23 -0400
committerVictor Kareh <[email protected]>2026-08-10 15:04:23 -0400
commita7369fc9bd0c0e7990a377ce581cf0744f09a1aa (patch)
tree43a3b8671bc3527c60be9fcdfae975f3f487f43b
parentc29110425c75494bcdf955ada4517a72d2c52eb1 (diff)
downloadmate-terminal-gsettings-changed-signal.tar.bz2
mate-terminal-gsettings-changed-signal.tar.xz
terminal-profile: fix disconnect between GUI and gsettingsgsettings-changed-signal
Signal connection used "changed::<profile-name>/" by path but gsettings uses "changed" by key name, so the GUI was out of sync with gsettings. Fixes #505
-rw-r--r--src/terminal-profile.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/src/terminal-profile.c b/src/terminal-profile.c
index 634e0bc..a5c4eb2 100644
--- a/src/terminal-profile.c
+++ b/src/terminal-profile.c
@@ -987,14 +987,11 @@ terminal_profile_constructor (GType type,
priv->settings = g_settings_new_with_path (CONF_PROFILE_SCHEMA, concat);
g_assert (priv->settings != NULL);
g_free (concat);
- concat = g_strconcat("changed::", priv->profile_dir, "/", NULL);
g_signal_connect (priv->settings,
- concat,
+ "changed",
G_CALLBACK(terminal_profile_gsettings_notify_cb),
profile);
- g_free (concat);
-
/* Now load those properties from GSettings that were not set as construction params */
pspecs = g_object_class_list_properties (G_OBJECT_CLASS (TERMINAL_PROFILE_GET_CLASS (profile)), &n_pspecs);
for (i = 0; i < n_pspecs; ++i)
@@ -1153,12 +1150,10 @@ terminal_profile_set_property (GObject *object,
concat= g_strconcat (CONF_PROFILE_PREFIX, priv->profile_dir, "/", NULL);
priv->settings = g_settings_new_with_path (CONF_PROFILE_SCHEMA, concat);
g_free (concat);
- concat = g_strconcat("changed::", priv->profile_dir, "/", NULL);
g_signal_connect (priv->settings,
- concat,
+ "changed",
G_CALLBACK(terminal_profile_gsettings_notify_cb),
profile);
- g_free (concat);
}
break;
}