tvg_shape_get_stroke_dash(_get_tvg_shape(obj), &dashPattern, &cnt);
if (!cnt) return;
- d = malloc(sizeof(Evas_Vg_Dash) * cnt / DASH_PATTERN_EL_SIZE);
+ d = calloc(cnt / DASH_PATTERN_EL_SIZE, sizeof(Evas_Vg_Dash));
if (!d) return;
- for (i = 0; i < cnt; i += DASH_PATTERN_EL_SIZE)
+ for (i = 0; i < cnt / DASH_PATTERN_EL_SIZE; ++i)
{
- d[i].length = dashPattern[i];
- d[i].gap = dashPattern[i+1];
+ d[i].length = dashPattern[2 * i];
+ d[i].gap = dashPattern[(2 * i) + 1];
}
*dash = d;
- *length = cnt;
+ *length = cnt / 2;
#else
efl_gfx_shape_stroke_dash_get(obj, (const Efl_Gfx_Dash **)dash, length);
#endif