Evas textblock: add a stringshare fastpath to markup_set

This optimization makes use of already stringshare'd text and avoids
unnecessary stringshare_add calls in markup_set. It improves the
performance of edje_calc when reapplying text to the textblock part.
This commit is contained in:
Daniel Hirt 2016-02-28 17:49:20 +02:00 committed by Tom Hacohen
parent c7d45032dd
commit 409f45478b
1 changed files with 6 additions and 0 deletions

View File

@ -6849,6 +6849,12 @@ _evas_textblock_text_markup_set(Eo *eo_obj EINA_UNUSED, Evas_Textblock_Data *o,
Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, EVAS_OBJECT_CLASS);
evas_object_async_block(obj);
if (text == o->markup_text)
{
/* Text is the same and already stringshared, do nothing */
return;
}
else
{
text = eina_stringshare_add(text);
if (text == o->markup_text)