ClutterText: Cannot pass NULL string to clutter_text_set_text()

Passing a NULL buffer to clutter_text_set_text() does not behave the same
way as passing an empty string "" (as specified in the documentation).
This was working as expected previously, but somehow the behaviour changed
at some point and created 2 new issues:
- Passing a NULL pointer will not reset the string
- If the ClutterText is editable, it will segfault in strcmp

Validations have been added to prevent this.

https://bugzilla.gnome.org/show_bug.cgi?id=675890
This commit is contained in:
Dominique Bureau 2012-05-11 13:26:50 -04:00 committed by Emmanuele Bassi
parent dd61be7c2e
commit a2d40fcf8c

View File

@ -4767,12 +4767,12 @@ clutter_text_set_text (ClutterText *self,
*/
if (self->priv->editable)
{
if (strcmp (clutter_text_buffer_get_text (get_buffer (self)), text) == 0)
if (g_strcmp0 (clutter_text_buffer_get_text (get_buffer (self)), text) == 0)
return;
}
clutter_text_set_use_markup_internal (self, FALSE);
clutter_text_buffer_set_text (get_buffer (self), text, -1);
clutter_text_buffer_set_text (get_buffer (self), text ? text : "", -1);
}
/**