[gtk+] settings: Ensure derived fields are initialized
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] settings: Ensure derived fields are initialized
- Date: Wed, 4 May 2016 10:30:13 +0000 (UTC)
commit 1d0ba98d5df703c0936f2334733f68143f0831f2
Author: Matthias Clasen <mclasen redhat com>
Date: Wed May 4 06:28:59 2016 -0400
settings: Ensure derived fields are initialized
I mistakenly assumed that gtk_settings_init was already doing
something to trigger a notify for all properties. It doesn't,
so we have to ensure that settings_update_font_values() is
called at least once.
https://bugzilla.gnome.org/show_bug.cgi?id=765966
gtk/gtksettings.c | 16 ++++++++++++----
1 files changed, 12 insertions(+), 4 deletions(-)
---
diff --git a/gtk/gtksettings.c b/gtk/gtksettings.c
index 4b81ca1..a720d35 100644
--- a/gtk/gtksettings.c
+++ b/gtk/gtksettings.c
@@ -257,6 +257,7 @@ static void settings_update_key_theme (GtkSettings *setting
static gboolean settings_update_xsetting (GtkSettings *settings,
GParamSpec *pspec,
gboolean force);
+static void settings_update_font_values (GtkSettings *settings);
static void gtk_settings_load_from_key_file (GtkSettings *settings,
const gchar *path,
@@ -356,6 +357,10 @@ gtk_settings_init (GtkSettings *settings)
g_free (path);
g_object_thaw_notify (G_OBJECT (settings));
+
+ /* ensure that derived fields are initialized */
+ if (priv->font_size == 0)
+ settings_update_font_values (settings);
}
static void
@@ -1966,15 +1971,18 @@ settings_update_font_values (GtkSettings *settings)
PangoFontDescription *desc;
const gchar *font_name;
- priv->font_size = 0;
- priv->font_size_absolute = FALSE;
- priv->font_family = NULL;
+ g_free (priv->font_family);
font_name = g_value_get_string (&priv->property_values[PROP_FONT_NAME - 1].value);
desc = pango_font_description_from_string (font_name);
if (desc == NULL)
- return;
+ {
+ priv->font_size = 10 * PANGO_SCALE;
+ priv->font_size_absolute = FALSE;
+ priv->font_family = g_strdup ("Sans");
+ return;
+ }
if (pango_font_description_get_set_fields (desc) & PANGO_FONT_MASK_SIZE)
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]