[gtk+] gtksettings: fix critical warning
- From: Alberts Muktupāvels <muktupavels src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] gtksettings: fix critical warning
- Date: Thu, 4 Feb 2016 09:46:02 +0000 (UTC)
commit 7ac337a9af03b58723cc7e13121e09850de24f7f
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date: Wed Feb 3 15:48:52 2016 +0200
gtksettings: fix critical warning
Commit 5186aeb90f52c941a2642b04ebfb54e9d8f8ea11 introduced critical
warning - g_value_copy: assertion 'g_value_type_compatible (...)' failed.
https://bugzilla.gnome.org/show_bug.cgi?id=761381
gtk/gtksettings.c | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
---
diff --git a/gtk/gtksettings.c b/gtk/gtksettings.c
index 339dfc2..7560fa9 100644
--- a/gtk/gtksettings.c
+++ b/gtk/gtksettings.c
@@ -3435,16 +3435,20 @@ gtk_settings_reset_property (GtkSettings *settings,
{
GtkSettingsPrivate *priv = settings->priv;
GParamSpec *pspec;
+ GtkRcPropertyParser parser;
GValue *value;
+ GValue tmp_value = G_VALUE_INIT;
pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (settings), name);
g_return_if_fail (pspec != NULL);
+ parser = (GtkRcPropertyParser) g_param_spec_get_qdata (pspec, quark_property_parser);
value = g_param_spec_get_qdata (pspec, g_quark_from_string (name));
- if (value != NULL)
- g_value_copy (value, &priv->property_values[pspec->param_id - 1].value);
+ g_value_init (&tmp_value, G_PARAM_SPEC_VALUE_TYPE (pspec));
+ if (value && _gtk_settings_parse_convert (parser, value, pspec, &tmp_value))
+ g_value_copy (&tmp_value, &priv->property_values[pspec->param_id - 1].value);
else
g_param_value_set_default (pspec, &priv->property_values[pspec->param_id - 1].value);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]