data->pos += offset;
}
}
+ else if (!data->node)
+ {
+ data->node = o->text_nodes;
+ data->pos = 0;
+ }
}
}
}
if (!cur) return 0;
text = eina_unicode_utf8_to_unicode(_text, &len);
o = (Evas_Object_Textblock *)(cur->obj->object_data);
- /* Update all the cursors after our position. */
- _evas_textblock_cursors_update_offset(cur, cur->node, cur->pos, len);
n = cur->node;
if (n)
fnode = n->format_node;
}
}
+ else if (o->text_nodes)
+ {
+ cur->node = o->text_nodes;
+ cur->pos = 0;
+ }
else
{
n = _evas_textblock_node_text_new();
if (fnode && (fnode->text_node == cur->node))
fnode->offset += len;
+ /* Update all the cursors after our position. */
+ _evas_textblock_cursors_update_offset(cur, cur->node, cur->pos, len);
+
_evas_textblock_changed(o, cur->obj);
n->dirty = EINA_TRUE;
free(text);