Evas_Object *child;
child = _edje_external_type_add(source, evas_object_evas_get(ed->obj), ed->obj, NULL, name);
if (child)
- _edje_real_part_swallow(rp, child);
+ _edje_real_part_swallow(rp, child, EINA_TRUE);
}
evas_object_clip_set(rp->object, ed->base.clipper);
evas_object_show(ed->base.clipper);
rp->part->source = eina_stringshare_add(source);
child_obj = edje_object_add(ed->base.evas);
edje_object_file_set(child_obj, ed->file->path, source);
- _edje_real_part_swallow(rp, child_obj);
+ _edje_real_part_swallow(rp, child_obj, EINA_TRUE);
}
else
rp->part->source = NULL;
external->external_params, rp->part->name);
if (child_obj)
{
- _edje_real_part_swallow(rp, child_obj);
+ _edje_real_part_swallow(rp, child_obj, EINA_TRUE);
rp->param1.external_params = _edje_external_params_parse(child_obj,
external->external_params);
_edje_external_recalc_apply(ed, rp, NULL, rp->chosen_description);
group_path = eina_list_append(group_path, group_path_entry);
if (rp->part->type == EDJE_PART_TYPE_GROUP)
{
- _edje_real_part_swallow(rp, child_obj);
+ _edje_real_part_swallow(rp, child_obj, EINA_FALSE);
}
if (!_edje_object_file_set_internal(child_obj, file, source, rp->part->name, group_path))
edje_object_signal_callback_add(child_obj, "*", "*", _cb_signal_repeat, obj);
if (rp->part->type == EDJE_PART_TYPE_GROUP)
{
+ _edje_real_part_swallow(rp, child_obj, EINA_TRUE);
source = NULL;
}
else
void _edje_block_violate(Edje *ed);
void _edje_object_part_swallow_free_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
void _edje_object_part_swallow_changed_hints_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
-void _edje_real_part_swallow(Edje_Real_Part *rp, Evas_Object *obj_swallow);
+void _edje_real_part_swallow(Edje_Real_Part *rp, Evas_Object *obj_swallow, Eina_Bool hints_update);
void _edje_real_part_swallow_clear(Edje_Real_Part *rp);
void _edje_box_init(void);
void _edje_box_shutdown(void);
ERR("cannot unswallow part %s: not swallow type!", rp->part->name);
return EINA_FALSE;
}
- _edje_real_part_swallow(rp, obj_swallow);
+ _edje_real_part_swallow(rp, obj_swallow, EINA_TRUE);
return EINA_TRUE;
}
static void
_edje_real_part_swallow_hints_update(Edje_Real_Part *rp)
{
- char *type;
+ const char *type;
- type = (char *)evas_object_type_get(rp->swallowed_object);
+ type = evas_object_type_get(rp->swallowed_object);
rp->swallow_params.min.w = 0;
rp->swallow_params.min.h = 0;
}
void
-_edje_real_part_swallow(Edje_Real_Part *rp, Evas_Object *obj_swallow)
+_edje_real_part_swallow(Edje_Real_Part *rp,
+ Evas_Object *obj_swallow,
+ Eina_Bool hints_update)
{
if (rp->swallowed_object)
{
}
else
{
- _edje_real_part_swallow_hints_update(rp);
+ if (hints_update)
+ _edje_real_part_swallow_hints_update(rp);
rp->edje->dirty = 1;
_edje_recalc(rp->edje);
return;
_edje_object_part_swallow_changed_hints_cb,
rp);
- _edje_real_part_swallow_hints_update(rp);
+ if (hints_update)
+ _edje_real_part_swallow_hints_update(rp);
if (rp->part->mouse_events)
{