diff options
author | Owen Taylor <otaylor@redhat.com> | 2002-11-25 22:29:32 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 2002-11-25 22:29:32 +0000 |
commit | bc96f137bea80b46b9cdfe5604645dc2d0fa4798 (patch) | |
tree | fa8da9b13ec77543a8d2924091f1f3c60b229663 /gtk/gtksettings.c | |
parent | 8c782e730deb42b5b313536b41c1a640062eb465 (diff) | |
download | gtk+-bc96f137bea80b46b9cdfe5604645dc2d0fa4798.tar.gz |
Fix missing adjustments for new type of
Mon Nov 25 17:10:54 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtksettings.c (gtk_settings_set_property_value):
Fix missing adjustments for new type of
gtk_settings_set_property_value_internal(). (#99436,
Iain Holmes.)
* gtk/gtksettings.c (apply_queued_setting): Set the
source _after_ we call g_object_set_property, or otherwise
we get the APPLICATION source from our setter
implemenatation.
Diffstat (limited to 'gtk/gtksettings.c')
-rw-r--r-- | gtk/gtksettings.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/gtk/gtksettings.c b/gtk/gtksettings.c index a9b7537e03..ae5ed3cb72 100644 --- a/gtk/gtksettings.c +++ b/gtk/gtksettings.c @@ -343,12 +343,11 @@ gtk_settings_get_property (GObject *object, g_value_type_transformable (G_TYPE_STRING, G_VALUE_TYPE (value)) || g_value_type_transformable (GDK_TYPE_COLOR, G_VALUE_TYPE (value))) { - if (settings->property_values[property_id - 1].source == GTK_SETTINGS_SOURCE_APPLICATION) + if (settings->property_values[property_id - 1].source == GTK_SETTINGS_SOURCE_APPLICATION || + !gdk_screen_get_setting (settings->screen, pspec->name, value)) g_value_copy (&settings->property_values[property_id - 1].value, value); - else if (gdk_screen_get_setting (settings->screen, pspec->name, value)) - g_param_value_validate (pspec, value); else - g_value_copy (&settings->property_values[property_id - 1].value, value); + g_param_value_validate (pspec, value); } else { @@ -500,8 +499,8 @@ apply_queued_setting (GtkSettings *data, if (_gtk_settings_parse_convert (parser, &qvalue->public.value, pspec, &tmp_value)) { - data->property_values[pspec->param_id - 1].source = qvalue->source; g_object_set_property (G_OBJECT (data), pspec->name, &tmp_value); + data->property_values[pspec->param_id - 1].source = qvalue->source; } else { @@ -689,7 +688,8 @@ gtk_settings_set_property_value (GtkSettings *settings, g_return_if_fail (new_value != NULL); g_return_if_fail (new_value->origin != NULL); - gtk_settings_set_property_value_internal (settings, prop_name, new_value, FALSE); + gtk_settings_set_property_value_internal (settings, prop_name, new_value, + GTK_SETTINGS_SOURCE_APPLICATION); } void @@ -702,7 +702,8 @@ _gtk_settings_set_property_value_from_rc (GtkSettings *settings, g_return_if_fail (new_value != NULL); g_return_if_fail (new_value->origin != NULL); - gtk_settings_set_property_value_internal (settings, prop_name, new_value, TRUE); + gtk_settings_set_property_value_internal (settings, prop_name, new_value, + GTK_SETTINGS_SOURCE_RC_FILE); } void |