_evas_cache_image_entry_delete(cache, im);
return;
}
- _evas_cache_image_lru_add(im);
- if (cache) evas_cache_image_flush(cache);
+ if (cache)
+ {
+ _evas_cache_image_lru_add(im);
+ evas_cache_image_flush(cache);
+ }
}
}
{
ru = malloc(sizeof(*ru));
ru->surface = surface;
+ //XXX: need a way of reffing output surfaces
NEW_RECT(ru->area, ux, uy, uw, uh);
eina_spinlock_take(&(e->render.lock));
e->render.updates = eina_list_append(e->render.updates, ru);
- evas_cache_image_ref(surface);
eina_spinlock_release(&(e->render.lock));
}
EINA_LIST_FOREACH(e->render.updates, l, ru)
{
post.updated_area = eina_list_append(post.updated_area, ru->area);
- evas_cache_image_drop(ru->surface);
+ //XXX: need a way of unreffing output surfaces
ru->surface = NULL;
}
eina_spinlock_take(&(e->render.lock));
ru->area->x, ru->area->y, ru->area->w, ru->area->h,
EVAS_RENDER_MODE_ASYNC_END);
eina_evlog("-render_push", e->evas, 0.0, NULL);
- evas_cache_image_drop(ru->surface);
+ //XXX: need a way to unref render output surfaces
ru->surface = NULL;
}
eina_evlog("+render_output_flush", e->evas, 0.0, NULL);