{
Evas_Object_Textblock_Format_Item *fit;
Evas_Object_Textblock_Item *it;
-
+ Evas_Object_Textblock_Line *lnn;
+
+ lnn = (Evas_Object_Textblock_Line *)(((Eina_Inlist *)ln)->next);
EINA_INLIST_FOREACH(ln->items, it)
{
if (it->source_node == n)
{
- if ((int)(it->source_pos + strlen(it->text)) >= pos)
+ Evas_Object_Textblock_Item *itn;
+ int p;
+
+ itn = (Evas_Object_Textblock_Item *)(((Eina_Inlist *)it)->next);
+ p = (int)(it->source_pos + strlen(it->text));
+ if ((p > pos) ||
+ ((p == pos) && (!lnn) &&
+ ((!itn) |
+ ((itn) && (itn->source_node != n)))))
{
*lnr = ln;
*itr = it;
{
Eina_List *l;
Scaleitem *sci;
-
+
EINA_LIST_FOREACH(im->cache.list, l, sci)
{
if (
// printf(" 1- %i\n", sci->dst_w * sci->dst_h * 4);
cache_list = eina_inlist_remove(cache_list, (Eina_Inlist *)sci);
}
+ if (max_scale_items < 1) return NULL;
}
else
{
+ if (max_scale_items < 1) return NULL;
+
+ if (eina_list_count(im->cache.list) > (max_scale_items - 1))
+ return NULL;
sci = malloc(sizeof(Scaleitem));
memset(sci, 0, sizeof(Eina_Inlist));
sci->parent_im = im;
sci = _sci_find(im, dc, smooth,
src_region_x, src_region_y, src_region_w, src_region_h,
dst_region_w, dst_region_h);
+ if (!sci)
+ {
+ LKU(cache_lock);
+ LKU(im->cache.lock);
+ return;
+ }
// printf("%10i | %4i %4i %4ix%4i -> %4i %4i %4ix%4i | %i\n",
// (int)use_counter,
// src_region_x, src_region_y, src_region_w, src_region_h,