forked from enlightenment/efl
ecore_evas: skip rendering evas and making animator tick
Summary: Some ecore_evas such as ecore_evas_extn_plug doesn't have evas. ecore_evas_extn_plug seems to be Ecore_Evas, but actually it is Evas_Object_Image. ecore_evas_extn_plug makes new ecore evas, but it only exists to communicate with ecore_evas_extn_socket. newly ecore evas only open and close file(ecore_evas_extn_socket). so it doesn't have evas. ``` EAPI Evas_Object * ecore_evas_extn_plug_new_internal(Ecore_Evas *ee_target) { ... ee = calloc(1, sizeof(Ecore_Evas)); ... o = evas_object_image_filled_add(ee_target->evas); ... return o; } ``` Reviewers: zmike, Hermet, woohyun, raster, devilhorns Reviewed By: zmike Subscribers: cedric, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D6504
This commit is contained in:
parent
259ba514ef
commit
1b2408d5f7
|
@ -149,6 +149,8 @@ ecore_evas_render(Ecore_Evas *ee)
|
|||
{
|
||||
Eina_Bool rend = EINA_FALSE;
|
||||
|
||||
if (!ee->evas) return EINA_FALSE;
|
||||
|
||||
if (ee->in_async_render)
|
||||
{
|
||||
DBG("ee=%p is rendering, skip.", ee);
|
||||
|
@ -3048,7 +3050,8 @@ ecore_evas_animator_tick(Ecore_Evas *ee, Eina_Rectangle *viewport, double loop_t
|
|||
// FIXME: We do not support partial animator in the subcanvas
|
||||
EINA_LIST_FOREACH(ee->sub_ecore_evas, l, subee)
|
||||
{
|
||||
ecore_evas_animator_tick(subee, NULL, loop_time);
|
||||
if (subee->evas)
|
||||
ecore_evas_animator_tick(subee, NULL, loop_time);
|
||||
}
|
||||
|
||||
// We are a source of sync for general animator.
|
||||
|
@ -3274,10 +3277,12 @@ _ecore_evas_register(Ecore_Evas *ee)
|
|||
EAPI void
|
||||
_ecore_evas_subregister(Ecore_Evas *ee_target, Ecore_Evas *ee)
|
||||
{
|
||||
_ecore_evas_register_animators(ee);
|
||||
|
||||
ee_target->sub_ecore_evas = eina_list_append(ee_target->sub_ecore_evas, ee);
|
||||
|
||||
if (!ee->evas) return;
|
||||
|
||||
_ecore_evas_register_animators(ee);
|
||||
|
||||
if (!ee->engine.func->fn_render)
|
||||
evas_event_callback_priority_add(ee->evas, EVAS_CALLBACK_RENDER_POST, EVAS_CALLBACK_PRIORITY_AFTER,
|
||||
_evas_evas_buffer_rendered, ee);
|
||||
|
|
Loading…
Reference in New Issue