forked from enlightenment/efl
evas - restore ability for evas_render_dump() to dump out referenced data
This commit is contained in:
parent
d2da97c75b
commit
175335ae08
|
@ -97,7 +97,6 @@ _ecore_evas_idle_enter(void *data EINA_UNUSED)
|
||||||
if (ee->engine.func->fn_render)
|
if (ee->engine.func->fn_render)
|
||||||
rend |= ee->engine.func->fn_render(ee);
|
rend |= ee->engine.func->fn_render(ee);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef ECORE_EVAS_ASYNC_RENDER_DEBUG
|
#ifdef ECORE_EVAS_ASYNC_RENDER_DEBUG
|
||||||
if ((ee->in_async_render) && (ee->async_render_start <= 0.0))
|
if ((ee->in_async_render) && (ee->async_render_start <= 0.0))
|
||||||
{
|
{
|
||||||
|
|
|
@ -169,6 +169,10 @@ EAPI void evas_cache_image_preload_cancel(Image_Entry *im, c
|
||||||
|
|
||||||
EAPI void evas_cache_image_wakeup(void);
|
EAPI void evas_cache_image_wakeup(void);
|
||||||
|
|
||||||
|
EAPI int evas_cache_async_frozen_get(void);
|
||||||
|
EAPI void evas_cache_async_freeze(void);
|
||||||
|
EAPI void evas_cache_async_thaw(void);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1231,6 +1231,26 @@ evas_cache_image_unload_all(Evas_Cache_Image *cache)
|
||||||
eina_hash_foreach(cache->inactiv, _evas_cache_image_unload_cb, NULL);
|
eina_hash_foreach(cache->inactiv, _evas_cache_image_unload_cb, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int async_frozen = 0;
|
||||||
|
|
||||||
|
EAPI int
|
||||||
|
evas_cache_async_frozen_get(void)
|
||||||
|
{
|
||||||
|
return async_frozen;
|
||||||
|
}
|
||||||
|
|
||||||
|
EAPI void
|
||||||
|
evas_cache_async_freeze(void)
|
||||||
|
{
|
||||||
|
async_frozen++;
|
||||||
|
}
|
||||||
|
|
||||||
|
EAPI void
|
||||||
|
evas_cache_async_thaw(void)
|
||||||
|
{
|
||||||
|
async_frozen--;
|
||||||
|
}
|
||||||
|
|
||||||
EAPI Eina_Bool
|
EAPI Eina_Bool
|
||||||
evas_cache_image_is_loaded(Image_Entry *im)
|
evas_cache_image_is_loaded(Image_Entry *im)
|
||||||
{
|
{
|
||||||
|
|
|
@ -2236,6 +2236,7 @@ _canvas_render_dump(Eo *eo_e EINA_UNUSED, void *_pd, va_list *list EINA_UNUSED)
|
||||||
Evas_Layer *lay;
|
Evas_Layer *lay;
|
||||||
|
|
||||||
evas_render_rendering_wait(e);
|
evas_render_rendering_wait(e);
|
||||||
|
evas_cache_async_freeze();
|
||||||
|
|
||||||
EINA_INLIST_FOREACH(e->layers, lay)
|
EINA_INLIST_FOREACH(e->layers, lay)
|
||||||
{
|
{
|
||||||
|
@ -2261,6 +2262,7 @@ _canvas_render_dump(Eo *eo_e EINA_UNUSED, void *_pd, va_list *list EINA_UNUSED)
|
||||||
GC_ALL(evas_object_image_pixels_cow);
|
GC_ALL(evas_object_image_pixels_cow);
|
||||||
GC_ALL(evas_object_image_load_opts_cow);
|
GC_ALL(evas_object_image_load_opts_cow);
|
||||||
GC_ALL(evas_object_image_state_cow);
|
GC_ALL(evas_object_image_state_cow);
|
||||||
|
evas_cache_async_thaw();
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
@ -271,7 +271,8 @@ evas_common_rgba_image_unload(Image_Entry *ie)
|
||||||
if (!ie->flags.loaded) return;
|
if (!ie->flags.loaded) return;
|
||||||
if ((!ie->info.module) && (!ie->data1)) return;
|
if ((!ie->info.module) && (!ie->data1)) return;
|
||||||
if (!ie->file && !ie->f) return;
|
if (!ie->file && !ie->f) return;
|
||||||
if (ie->references > 0) return;
|
if ((evas_cache_async_frozen_get() == 0) &&
|
||||||
|
(ie->references > 0)) return;
|
||||||
|
|
||||||
ie->flags.loaded = 0;
|
ie->flags.loaded = 0;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue