Subdiv: Fix memory leak

Was visible when mesh had n-gons.
This commit is contained in:
2019-01-10 17:08:31 +01:00
parent e551ddf712
commit b207f4e4a2

View File

@@ -148,11 +148,15 @@ static void *subdiv_foreach_tls_alloc(SubdivForeachTaskContext *ctx)
return tls;
}
static void subdiv_foreach_tls_free(void *tls)
static void subdiv_foreach_tls_free(SubdivForeachTaskContext *ctx, void *tls)
{
if (tls != NULL) {
MEM_freeN(tls);
if (tls == NULL) {
return;
}
if (ctx->foreach_context != NULL) {
ctx->foreach_context->user_data_tls_free(tls);
}
MEM_freeN(tls);
}
/* =============================================================================
@@ -1972,7 +1976,7 @@ static void subdiv_foreach_single_thread_tasks(SubdivForeachTaskContext *ctx)
subdiv_foreach_every_edge_vertices(ctx, tls);
/* Run callbacks which are supposed to be run once per shared geometry. */
subdiv_foreach_single_geometry_vertices(ctx, tls);
subdiv_foreach_tls_free(tls);
subdiv_foreach_tls_free(ctx, tls);
}
static void subdiv_foreach_task(