if (ep->param1.description->rel2.id_y >= 0)
rp1[Rel2Y] = ed->table_parts[ep->param1.description->rel2.id_y];
if (ep->param1.description->clip_to_id >= 0)
- clip1 = ed->table_parts[ep->param1.description->clip_to_id % ed->table_parts_size];
+ {
+ clip1 = ed->table_parts[ep->param1.description->clip_to_id % ed->table_parts_size];
+ ed->has_state_clip = EINA_TRUE;
+ }
}
if (ep->param2)
{
if (ep->param2->description->rel2.id_y >= 0)
rp2[Rel2Y] = ed->table_parts[ep->param2->description->rel2.id_y];
if (ep->param2->description->clip_to_id >= 0)
- clip2 = ed->table_parts[ep->param2->description->clip_to_id % ed->table_parts_size];
+ {
+ clip2 = ed->table_parts[ep->param2->description->clip_to_id % ed->table_parts_size];
+ ed->has_state_clip = EINA_TRUE;
+ }
}
if (flags & FLAG_X)
_edje_entry_real_part_configure(ed, ep);
/* handle clip overrides */
- if (pf->clip_to && pf->clip_to->object)
- evas_object_clip_set(ep->object, pf->clip_to->object);
- else if (ep->part->clip_to_id >= 0)
- evas_object_clip_set(ep->object, ed->table_parts[ep->part->clip_to_id % ed->table_parts_size]->object);
- else
- evas_object_clip_set(ep->object, ed->base->clipper);
+ if (ed->has_state_clip)
+ {
+ if (pf->clip_to && pf->clip_to->object)
+ evas_object_clip_set(ep->object, pf->clip_to->object);
+ else if (ep->part->clip_to_id >= 0)
+ evas_object_clip_set(ep->object, ed->table_parts[ep->part->clip_to_id % ed->table_parts_size]->object);
+ else
+ evas_object_clip_set(ep->object, ed->base->clipper);
+ }
break;
case EDJE_PART_TYPE_TEXT:
(ep->typedata.swallow)) &&
(ep->typedata.swallow->swallowed_object))
{
- if (pf->clip_to && pf->clip_to->object)
- evas_object_clip_set(ep->typedata.swallow->swallowed_object, pf->clip_to->object);
- else if (ep->part->clip_to_id >= 0)
- evas_object_clip_set(ep->typedata.swallow->swallowed_object, ed->table_parts[ep->part->clip_to_id % ed->table_parts_size]->object);
- else
- evas_object_clip_set(ep->typedata.swallow->swallowed_object, ed->base->clipper);
+ if (ed->has_state_clip)
+ {
+ if (pf->clip_to && pf->clip_to->object)
+ evas_object_clip_set(ep->typedata.swallow->swallowed_object, pf->clip_to->object);
+ else if (ep->part->clip_to_id >= 0)
+ evas_object_clip_set(ep->typedata.swallow->swallowed_object, ed->table_parts[ep->part->clip_to_id % ed->table_parts_size]->object);
+ else
+ evas_object_clip_set(ep->typedata.swallow->swallowed_object, ed->base->clipper);
+ }
if (pf->visible)
{