forked from enlightenment/efl
evas: fix garbage with left over mapped smart object.
This fix the bug reported by Bruno Dilly. SVN revision: 73944
This commit is contained in:
parent
7f56d9a4da
commit
64fd2b487a
|
@ -884,3 +884,8 @@
|
||||||
2012-07-16 Hermet (ChunEon Park)
|
2012-07-16 Hermet (ChunEon Park)
|
||||||
|
|
||||||
* Fixed to do pre render for the children of mapped object.
|
* Fixed to do pre render for the children of mapped object.
|
||||||
|
|
||||||
|
2012-07-17 Cedric Bail
|
||||||
|
|
||||||
|
* Fix garbage left by mapped smart object when they fly away from the canvas.
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,7 @@ Fixes:
|
||||||
* Add missing files in the tarball.
|
* Add missing files in the tarball.
|
||||||
* Add svg rendering with Esvg
|
* Add svg rendering with Esvg
|
||||||
* Don't accept broken map.
|
* Don't accept broken map.
|
||||||
|
* Fix garbage left by mapped smart object when they fly away from the canvas.
|
||||||
|
|
||||||
Removal:
|
Removal:
|
||||||
* Remove EVAS_FRAME_QUEUING, EVAS_SLI, METRIC_CACHE and WORD_CACHE.
|
* Remove EVAS_FRAME_QUEUING, EVAS_SLI, METRIC_CACHE and WORD_CACHE.
|
||||||
|
|
|
@ -104,6 +104,7 @@ _evas_map_calc_map_geometry(Evas_Object *obj)
|
||||||
obj->cur.map->normal_geometry.y = yy1;
|
obj->cur.map->normal_geometry.y = yy1;
|
||||||
obj->cur.map->normal_geometry.w = (x2 - x1);
|
obj->cur.map->normal_geometry.w = (x2 - x1);
|
||||||
obj->cur.map->normal_geometry.h = (yy2 - yy1);
|
obj->cur.map->normal_geometry.h = (yy2 - yy1);
|
||||||
|
obj->changed_map = ch;
|
||||||
if (ch) _evas_map_calc_geom_change(obj);
|
if (ch) _evas_map_calc_geom_change(obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -494,7 +495,6 @@ evas_object_map_set(Evas_Object *obj, const Evas_Map *map)
|
||||||
if (obj->cur.usemap)
|
if (obj->cur.usemap)
|
||||||
evas_object_mapped_clip_across_mark(obj);
|
evas_object_mapped_clip_across_mark(obj);
|
||||||
}
|
}
|
||||||
obj->changed_map = EINA_TRUE;
|
|
||||||
|
|
||||||
_evas_map_calc_map_geometry(obj);
|
_evas_map_calc_map_geometry(obj);
|
||||||
}
|
}
|
||||||
|
|
|
@ -93,7 +93,7 @@ evas_object_change(Evas_Object *obj)
|
||||||
obj->changed_move = EINA_FALSE;
|
obj->changed_move = EINA_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (obj->changed) return;
|
if (obj->changed) return;
|
||||||
|
|
||||||
evas_render_object_recalc(obj);
|
evas_render_object_recalc(obj);
|
||||||
/* set changed flag on all objects this one clips too */
|
/* set changed flag on all objects this one clips too */
|
||||||
|
@ -321,7 +321,7 @@ evas_object_render_pre_effect_updates(Eina_Array *rects, Evas_Object *obj, int i
|
||||||
int
|
int
|
||||||
evas_object_was_in_output_rect(Evas_Object *obj, int x, int y, int w, int h)
|
evas_object_was_in_output_rect(Evas_Object *obj, int x, int y, int w, int h)
|
||||||
{
|
{
|
||||||
if (obj->smart.smart) return 0;
|
if (obj->smart.smart && !obj->prev.map && !obj->prev.usemap) return 0;
|
||||||
/* assumes coords have been recalced */
|
/* assumes coords have been recalced */
|
||||||
if ((RECTS_INTERSECT(x, y, w, h,
|
if ((RECTS_INTERSECT(x, y, w, h,
|
||||||
obj->prev.cache.clip.x,
|
obj->prev.cache.clip.x,
|
||||||
|
|
Loading…
Reference in New Issue