summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLionel Landwerlin <llandwerlin@gmail.com>2013-06-11 14:01:30 +0100
committerLionel Landwerlin <llandwerlin@gmail.com>2013-06-12 13:35:16 +0100
commitf407ddf0d8717cee0ec19f152eef117921e96197 (patch)
tree7943fd699913d4fc12e795507e52f4d59c952e78
parentdb1185318d96c206d522642bda6aa78d387ac2ff (diff)
downloadclutter-f407ddf0d8717cee0ec19f152eef117921e96197.tar.gz
clutter-text: prevent reset of user set font descriptions on dpi changes
When setting the font using clutter_text_set_font_description(), the font settings on a ClutterText actor can be reset when there is a dpi changes signaled by the backend. https://bugzilla.gnome.org/show_bug.cgi?id=702016
-rw-r--r--clutter/clutter-text.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/clutter/clutter-text.c b/clutter/clutter-text.c
index 8323cc0e9..9b8b14da4 100644
--- a/clutter/clutter-text.c
+++ b/clutter/clutter-text.c
@@ -564,10 +564,13 @@ clutter_text_dirty_cache (ClutterText *text)
*/
static inline void
clutter_text_set_font_description_internal (ClutterText *self,
- PangoFontDescription *desc)
+ PangoFontDescription *desc,
+ gboolean is_default_font)
{
ClutterTextPrivate *priv = self->priv;
+ priv->is_default_font = is_default_font;
+
if (priv->font_desc == desc ||
pango_font_description_equal (priv->font_desc, desc))
return;
@@ -615,7 +618,7 @@ clutter_text_settings_changed_cb (ClutterText *text)
font_name);
font_desc = pango_font_description_from_string (font_name);
- clutter_text_set_font_description_internal (text, font_desc);
+ clutter_text_set_font_description_internal (text, font_desc, TRUE);
pango_font_description_free (font_desc);
g_free (font_name);
@@ -4919,7 +4922,8 @@ clutter_text_set_font_description (ClutterText *self,
{
g_return_if_fail (CLUTTER_IS_TEXT (self));
- clutter_text_set_font_description_internal (self, font_desc);
+ clutter_text_set_font_description_internal (self, font_desc,
+ font_desc == NULL);
}
/**
@@ -5026,8 +5030,7 @@ clutter_text_set_font_name (ClutterText *self,
}
/* this will set the font_name field as well */
- clutter_text_set_font_description_internal (self, desc);
- priv->is_default_font = is_default_font;
+ clutter_text_set_font_description_internal (self, desc, is_default_font);
g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_FONT_NAME]);