Actually copying max is pretty useless and super slow. We usually have something
like 1024 slot in a context, but a very small amount of them are acutally active.
It would be better to actually do some kind of copy on write technique here, but
as Eina_Cow doesn't handle array and we are close to a release, let's be
conservative.
{
if (!rects) return;
rects2->active = rects->active;
- rects2->max = rects->max;
+ rects2->max = rects->active;
rects2->last_add = rects->last_add;
- if (rects->max > 0)
+ rects2->rects = NULL;
+ if (rects2->max > 0)
{
- const size_t sz = sizeof(Cutout_Rect) * rects->max;
+ const size_t sz = sizeof(Cutout_Rect) * rects2->max;
rects2->rects = malloc(sz);
memcpy(rects2->rects, rects->rects, sz);
}