forked from enlightenment/efl
Evas text_utils: make the text_props_content_ref/unref more robust.
Don't allocate a text info if the length is 0. No point in that because content won't be allocated anyway. SVN revision: 56924
This commit is contained in:
parent
b2029f0648
commit
f0eebf1696
|
@ -39,8 +39,8 @@ evas_common_text_props_content_copy_and_ref(Evas_Text_Props *dst,
|
||||||
void
|
void
|
||||||
evas_common_text_props_content_ref(Evas_Text_Props *props)
|
evas_common_text_props_content_ref(Evas_Text_Props *props)
|
||||||
{
|
{
|
||||||
/* No info in this case */
|
/* No content in this case */
|
||||||
if (props->len == 0)
|
if (!props->info)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
props->info->refcount++;
|
props->info->refcount++;
|
||||||
|
@ -49,8 +49,8 @@ evas_common_text_props_content_ref(Evas_Text_Props *props)
|
||||||
void
|
void
|
||||||
evas_common_text_props_content_unref(Evas_Text_Props *props)
|
evas_common_text_props_content_unref(Evas_Text_Props *props)
|
||||||
{
|
{
|
||||||
/* No info in this case */
|
/* No content in this case */
|
||||||
if (props->len == 0)
|
if (!props->info)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (--(props->info->refcount) == 0)
|
if (--(props->info->refcount) == 0)
|
||||||
|
@ -175,6 +175,11 @@ evas_common_text_props_content_create(void *_fn, const Eina_Unicode *text,
|
||||||
{
|
{
|
||||||
evas_common_text_props_content_unref(text_props);
|
evas_common_text_props_content_unref(text_props);
|
||||||
}
|
}
|
||||||
|
if (len == 0)
|
||||||
|
{
|
||||||
|
text_props->info = NULL;
|
||||||
|
text_props->start = text_props->len = text_props->text_offset = 0;
|
||||||
|
}
|
||||||
text_props->info = calloc(1, sizeof(Evas_Text_Props_Info));
|
text_props->info = calloc(1, sizeof(Evas_Text_Props_Info));
|
||||||
|
|
||||||
fi = fn->fonts->data;
|
fi = fn->fonts->data;
|
||||||
|
|
Loading…
Reference in New Issue