evas/event - Fixed incorrect events passing. Now child's repeat events does not affect to the parent's level.
SVN revision: 72080
This commit is contained in:
parent
d228509e48
commit
c513f84aa8
|
@ -805,3 +805,8 @@
|
|||
|
||||
* Fix crash in evas_object_image_add() when called prior to setting an engine
|
||||
for the given canvas.
|
||||
|
||||
2012-06-13 ChunEon Park (Hermet)
|
||||
|
||||
* Fixed incorrect events passing. Now child's repeat events does not affect to the parent's level.
|
||||
|
||||
|
|
|
@ -43,14 +43,13 @@ _evas_event_object_list_raw_in_get(Evas *e, Eina_List *in,
|
|||
(!obj->clip.clipees) &&
|
||||
(evas_object_clippers_is_visible(obj)))
|
||||
{
|
||||
inside = evas_object_is_in_output_rect(obj, x, y, 1, 1);
|
||||
|
||||
if (obj->smart.smart)
|
||||
{
|
||||
int norep = 0;
|
||||
|
||||
if ((obj->cur.usemap) && (obj->cur.map) &&
|
||||
(obj->cur.map->count == 4))
|
||||
{
|
||||
inside = evas_object_is_in_output_rect(obj, x, y, 1, 1);
|
||||
if (inside)
|
||||
{
|
||||
if (!evas_map_coords_get(obj->cur.map, x, y,
|
||||
|
@ -67,7 +66,7 @@ _evas_event_object_list_raw_in_get(Evas *e, Eina_List *in,
|
|||
stop,
|
||||
obj->cur.geometry.x + obj->cur.map->mx,
|
||||
obj->cur.geometry.y + obj->cur.map->my,
|
||||
&norep);
|
||||
no_rep);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -86,33 +85,32 @@ _evas_event_object_list_raw_in_get(Evas *e, Eina_List *in,
|
|||
obj->cur.geometry.y + obj->cur.geometry.h >= y))
|
||||
in = _evas_event_object_list_in_get
|
||||
(e, in, evas_object_smart_members_get_direct(obj),
|
||||
stop, x, y, &norep);
|
||||
}
|
||||
if (norep)
|
||||
{
|
||||
if (!obj->repeat_events)
|
||||
{
|
||||
*no_rep = 1;
|
||||
return in;
|
||||
}
|
||||
stop, x, y, no_rep);
|
||||
}
|
||||
|
||||
if (inside && ((!obj->precise_is_inside) ||
|
||||
(evas_object_is_inside(obj, x, y))))
|
||||
if (!obj->repeat_events)
|
||||
{
|
||||
*no_rep = 1;
|
||||
return in;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
inside = evas_object_is_in_output_rect(obj, x, y, 1, 1);
|
||||
|
||||
if ((obj->cur.usemap) && (obj->cur.map) &&
|
||||
(obj->cur.map->count == 4))
|
||||
if (inside)
|
||||
{
|
||||
if ((inside) &&
|
||||
(!evas_map_coords_get(obj->cur.map, x, y,
|
||||
&(obj->cur.map->mx),
|
||||
&(obj->cur.map->my), 0)))
|
||||
if ((obj->cur.usemap) && (obj->cur.map) &&
|
||||
(obj->cur.map->count == 4))
|
||||
{
|
||||
inside = 0;
|
||||
if (!evas_map_coords_get(obj->cur.map, x, y,
|
||||
&(obj->cur.map->mx),
|
||||
&(obj->cur.map->my), 0))
|
||||
{
|
||||
inside = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (inside && ((!obj->precise_is_inside) ||
|
||||
(evas_object_is_inside(obj, x, y))))
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue