[gtk/gtk-3-24: 1/4] settings: Support loading float values from keyfiles
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/gtk-3-24: 1/4] settings: Support loading float values from keyfiles
- Date: Mon, 21 Dec 2020 19:26:40 +0000 (UTC)
commit 6c5489ab25554864d3d2e3a6792b238ef6b00637
Author: Sebastian Keller <skeller gnome org>
Date: Wed Dec 16 18:37:08 2020 +0100
settings: Support loading float values from keyfiles
The gtk-cursor-aspect-ratio property got added as a float property.
However there is no parser for float values from keyfiles which meant
that it could not be changed from settings.ini.
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3441
gtk/gtksettings.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
---
diff --git a/gtk/gtksettings.c b/gtk/gtksettings.c
index 2e7c035705..22b1420472 100644
--- a/gtk/gtksettings.c
+++ b/gtk/gtksettings.c
@@ -2448,6 +2448,7 @@ gtk_settings_set_property_value_internal (GtkSettings *settings,
GQuark name_quark;
if (!G_VALUE_HOLDS_LONG (&new_value->value) &&
+ !G_VALUE_HOLDS_FLOAT (&new_value->value) &&
!G_VALUE_HOLDS_DOUBLE (&new_value->value) &&
!G_VALUE_HOLDS_STRING (&new_value->value) &&
!G_VALUE_HOLDS (&new_value->value, G_TYPE_GSTRING))
@@ -3443,14 +3444,20 @@ gtk_settings_load_from_key_file (GtkSettings *settings,
break;
}
+ case G_TYPE_FLOAT:
case G_TYPE_DOUBLE:
{
gdouble d_val;
- g_value_init (&svalue.value, G_TYPE_DOUBLE);
+ g_value_init (&svalue.value, value_type);
d_val = g_key_file_get_double (keyfile, "Settings", key, &error);
if (!error)
- g_value_set_double (&svalue.value, d_val);
+ {
+ if (value_type == G_TYPE_FLOAT)
+ g_value_set_float (&svalue.value, (float) d_val);
+ else
+ g_value_set_double (&svalue.value, d_val);
+ }
break;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]