Do not use deprecated API internally

This commit is contained in:
Emmanuele Bassi
2010-09-10 14:27:37 +01:00
parent 0bd18fbcc9
commit d76f64a10c
3 changed files with 45 additions and 13 deletions

View File

@ -495,16 +495,21 @@ clutter_text_font_changed_cb (ClutterText *text)
{
if (text->priv->is_default_font)
{
const gchar *font_name;
PangoFontDescription *font_desc;
ClutterSettings *settings;
gchar *font_name = NULL;
settings = clutter_settings_get_default ();
g_object_get (settings, "font-name", &font_name, NULL);
font_name = clutter_backend_get_font_name (clutter_get_default_backend ());
CLUTTER_NOTE (ACTOR, "Text[%p]: default font changed to '%s'",
text,
font_name);
font_desc = pango_font_description_from_string (font_name);
clutter_text_set_font_description_internal (text, font_desc);
g_free (font_name);
}
clutter_text_dirty_cache (text);
@ -3109,8 +3114,9 @@ clutter_text_class_init (ClutterTextClass *klass)
static void
clutter_text_init (ClutterText *self)
{
ClutterSettings *settings;
ClutterTextPrivate *priv;
const gchar *font_name;
gchar *font_name;
int i;
self->priv = priv = CLUTTER_TEXT_GET_PRIVATE (self);
@ -3140,8 +3146,10 @@ clutter_text_init (ClutterText *self)
* set_font_description() here because we are initializing
* the Text and we don't need notifications and sanity checks
*/
font_name = clutter_backend_get_font_name (clutter_get_default_backend ());
priv->font_name = g_strdup (font_name);
settings = clutter_settings_get_default ();
g_object_get (settings, "font-name", &font_name, NULL);
priv->font_name = font_name; /* font_name is allocated */
priv->font_desc = pango_font_description_from_string (font_name);
priv->is_default_font = TRUE;
@ -3846,7 +3854,11 @@ clutter_text_set_font_name (ClutterText *self,
/* get the default font name from the backend */
if (!font_name || font_name[0] == '\0')
{
font_name = clutter_backend_get_font_name (clutter_get_default_backend ());
ClutterSettings *settings = clutter_settings_get_default ();
gchar *default_font_name = NULL;
g_object_get (settings, "font-name", default_font_name, NULL);
font_name = default_font_name;
is_default_font = TRUE;
}
else
@ -3855,7 +3867,7 @@ clutter_text_set_font_name (ClutterText *self,
priv = self->priv;
if (priv->font_name && strcmp (priv->font_name, font_name) == 0)
return;
goto out;
desc = pango_font_description_from_string (font_name);
if (!desc)
@ -3863,7 +3875,7 @@ clutter_text_set_font_name (ClutterText *self,
g_warning ("Attempting to create a PangoFontDescription for "
"font name '%s', but failed.",
font_name);
return;
goto out;
}
/* this will set the font_name field as well */
@ -3871,6 +3883,10 @@ clutter_text_set_font_name (ClutterText *self,
priv->is_default_font = is_default_font;
_clutter_notify_by_pspec (G_OBJECT (self), obj_props[PROP_FONT_NAME]);
out:
if (is_default_font)
g_free ((gchar *) font_name);
}
/**