evas map: an alternative patch for map rendering issue.

This is an alternative patch for 9fcd03952e.

Since canvas map rendering sequence is quite complex,
Not easy to estimiate the logic sequence by all scenarios.

The brings me to fix the code case by case.
This commit is contained in:
Hermet Park 2018-06-07 14:50:41 +09:00
parent 8d5a398610
commit 590b52ce75
1 changed files with 7 additions and 4 deletions

View File

@ -494,16 +494,19 @@ _evas_render_phase1_direct(Evas_Public_Data *e,
_evas_object_gfx_map_update(obj);
Eina_Bool has_map = _evas_render_has_map(obj);
RD(0, " pre-render-done smart:%p|%p [%p, %i] | [%p, %i] has_map:%i had_map:%i\n",
obj->smart.smart,
obj->is_smart ? evas_object_smart_members_get_direct(eo_obj) : NULL,
obj->map->cur.map, obj->map->cur.usemap,
obj->map->prev.map, obj->map->prev.usemap,
_evas_render_has_map(obj),
_evas_render_had_map(obj));
has_map, _evas_render_had_map(obj));
if ((obj->is_smart) &&
(((_evas_render_has_map(obj) && !_evas_render_can_map(obj)) ||
(obj->changed_src_visible))))
((has_map && !_evas_render_can_map(obj)) ||
(obj->changed_map && !has_map) ||
obj->changed_src_visible))
{
RD(0, " has map + smart\n");
_evas_render_prev_cur_clip_cache_add(e, obj);