name = parse_str(0);
- ed->vg.id = 0;
+ ed->vg.id = -1;
for (i = 0; i < edje_file->image_dir->vectors_count; ++i)
{
}
}
- if (!ed->vg.id)
+ if (ed->vg.id < 0)
error_and_abort(NULL, "Failed to find the vector resource :%s", name);
free(name);
vector = edje_file->image_dir->vectors + edje_file->image_dir->vectors_count - 1;
vector->entry = tmp;
- vector->id = edje_file->image_dir->vectors_count;
+ vector->id = edje_file->image_dir->vectors_count - 1;
}
_edje_svg_recalc_apply(Edje *ed, Edje_Real_Part *ep, Edje_Calc_Params *p3 EINA_UNUSED, Edje_Part_Description_Vector *chosen_desc, FLOAT_T pos)
{
int w, h;
- int new_svg = 0;
+ int new_svg = -1;
Efl_VG *root_vg;
Eina_Matrix3 matrix;
Edje_Vector_Data *start, *end;
new_svg = next_state->vg.id;
}
}
- if (new_svg) // animation with svg id change
+ if (new_svg >= 0) // animation with svg id change
{
start = _edje_ref_vector_data(ed, chosen_desc->vg.id);
end = _edje_ref_vector_data(ed, new_svg);
{
rp->type = EDJE_PART_TYPE_VECTOR;
rp->typedata.vector = calloc(1, sizeof(Edje_Real_Part_Vector));
+ if (rp->typedata.vector)
+ rp->typedata.vector->cur.svg_id = -1;
rp->object = evas_object_vg_add(ed->base->evas);
}
else if (ep->type == EDJE_PART_TYPE_IMAGE || ep->type == EDJE_PART_TYPE_PROXY)
case EDJE_PART_TYPE_VECTOR:
rp->type = EDJE_PART_TYPE_VECTOR;
rp->typedata.vector = calloc(1, sizeof(Edje_Real_Part_Vector));
- if (!rp->typedata.vector) memerr = EINA_TRUE;
+ if (!rp->typedata.vector)
+ memerr = EINA_TRUE;
+ else
+ rp->typedata.vector->cur.svg_id = -1;
break;
case EDJE_PART_TYPE_GROUP: