o->last_computed.ellipsis_start != o->items)
{
_evas_object_text_item_clean(o->last_computed.ellipsis_start);
- free(o->last_computed.ellipsis_start);
}
o->last_computed.ellipsis_start = NULL;
if (o->last_computed.ellipsis_end &&
EINA_INLIST_GET(o->last_computed.ellipsis_end) != EINA_INLIST_GET(o->items)->last)
{
_evas_object_text_item_clean(o->last_computed.ellipsis_end);
- free(o->last_computed.ellipsis_end);
}
o->last_computed.ellipsis_end = NULL;
while (o->items)
int *segment_idxs = NULL;
#endif
- if (!memcmp(&o->cur, &o->prev, sizeof (o->cur)) &&
+ if (o->items &&
+ !memcmp(&o->cur, &o->prev, sizeof (o->cur)) &&
o->cur.text == text &&
obj->cur.scale == obj->prev.scale &&
o->last_computed.w == obj->cur.geometry.w &&
}
}
}
- if (o->prev.text != text) free(o->prev.text);
+ if (o->cur.text != text) free(o->cur.text);
o->cur.text = text;
o->prev = o->cur;
if (o->cur.font) eina_stringshare_del(o->cur.font);
if (o->cur.fdesc) evas_font_desc_unref(o->cur.fdesc);
if (o->cur.source) eina_stringshare_del(o->cur.source);
+ if (o->cur.text) free(o->cur.text);
if (o->font) evas_font_free(obj->layer->evas->evas, o->font);
#ifdef BIDI_SUPPORT
evas_bidi_paragraph_props_unref(o->bidi_par_props);
evas_object_clip_changes_clean(eo_obj);
/* move cur to prev safely for object data */
evas_object_cur_prev(eo_obj);
- o->prev = o->cur;
+ /* o->prev = o->cur; */
o->changed = 0;
}