(c->w - c->o->style_pad.l - c->o->style_pad.r -
c->marginl - c->marginr)) || (wrap > 0)))
{
- /* Handle ellipsis here */
+ /* Handle ellipsis here. If we don't have more width left
+ * and no height left, or no more width left and no wrapping. */
if ((it->format->ellipsis == 1.0) && (c->h >= 0) &&
- (2 * it->h + c->y >
- c->h - c->o->style_pad.t - c->o->style_pad.b))
+ ((2 * it->h + c->y >
+ c->h - c->o->style_pad.t - c->o->style_pad.b) ||
+ (!it->format->wrap_word && !it->format->wrap_char &&
+ !it->format->wrap_mixed)))
{
_layout_handle_ellipsis(c, it, i);
ret = 1;
if (o->content_changed)
{
Evas_Object_Textblock_Node_Text *n;
+ c->o->have_ellipsis = 0;
c->par = c->paragraphs = o->paragraphs;
/* Go through all the text nodes to create the logical layout */
EINA_INLIST_FOREACH(c->o->text_nodes, n)
Evas_Object_Textblock *o;
o = (Evas_Object_Textblock *)(obj->object_data);
- o->have_ellipsis = 0;
_layout(obj, obj->cur.geometry.w, obj->cur.geometry.h,
&o->formatted.w, &o->formatted.h);
o->formatted.valid = 1;