evas event handling4- fix more corner cases where bounding is bad

so smart object bounding box wasnt updated properly in several other
cases. fix those other cases too by dirtying bounding box region.

this continues on from:

f6b3c31561
25d77bc1d2
9f0fd66ab8

this fixes T4017

@fix
This commit is contained in:
Carsten Haitzler 2016-07-08 09:54:33 +09:00
parent 5ada22613f
commit e57084d5c5
3 changed files with 9 additions and 2 deletions

View File

@ -377,6 +377,7 @@ _efl_canvas_object_clip_set(Eo *eo_obj, Evas_Object_Protected_Data *obj, Evas_Ob
evas_object_change(eo_clip, clip);
evas_object_change(eo_obj, obj);
evas_object_update_bounding_box(eo_obj, obj, NULL);
evas_object_clip_dirty(eo_obj, obj);
evas_object_recalc_clippees(obj);
if ((!obj->is_smart) &&
@ -459,6 +460,7 @@ _efl_canvas_object_clip_unset(Eo *eo_obj, Evas_Object_Protected_Data *obj)
eo_event_callback_del(old_clip->object, EO_EVENT_DEL, _clipper_del_cb, eo_obj);
}
evas_object_update_bounding_box(eo_obj, obj, NULL);
evas_object_change(eo_obj, obj);
evas_object_clip_dirty(eo_obj, obj);
evas_object_recalc_clippees(obj);

View File

@ -526,11 +526,11 @@ _map_map_enable_set(Eo *eo_obj, Evas_Object_Protected_Data *obj,
if (!parents) break;
parents->child_has_map = EINA_TRUE;
}
evas_object_update_bounding_box(eo_obj, obj, NULL);
}
else
{
if (_evas_object_map_parent_check(obj->smart.parent))
evas_object_update_bounding_box(eo_obj, obj, NULL);
evas_object_update_bounding_box(eo_obj, obj, NULL);
}
}
@ -605,6 +605,7 @@ evas_object_map_set(Evas_Object *eo_obj, const Evas_Map *map)
if (!obj->map->prev.map)
{
evas_object_update_bounding_box(eo_obj, obj, NULL);
evas_object_mapped_clip_across_mark(eo_obj, obj);
return;
}
@ -614,6 +615,7 @@ evas_object_map_set(Evas_Object *eo_obj, const Evas_Map *map)
if (obj->map->cur.usemap)
evas_object_mapped_clip_across_mark(eo_obj, obj);
}
evas_object_update_bounding_box(eo_obj, obj, NULL);
return;
}
@ -648,6 +650,7 @@ evas_object_map_set(Evas_Object *eo_obj, const Evas_Map *map)
evas_object_mapped_clip_across_mark(eo_obj, obj);
}
evas_object_update_bounding_box(eo_obj, obj, NULL);
_evas_map_calc_map_geometry(eo_obj);
}

View File

@ -1428,6 +1428,7 @@ _show(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj)
}
}
}
evas_object_update_bounding_box(eo_obj, obj, NULL);
evas_object_inform_call_show(eo_obj);
}
@ -1550,6 +1551,7 @@ _hide(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj)
obj->mouse_in = 0;
*/
}
evas_object_update_bounding_box(eo_obj, obj, NULL);
evas_object_inform_call_hide(eo_obj);
}