[PATCH 0/1] MR11277: d2d1: Free the vertex types array in d2d_figure_cleanup.
Frees the figure's vertex_types array in d2d_figure_cleanup(), which was leaked for every path geometry figure — it is allocated alongside vertices but never freed. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=59916 Verified on current master under a real workload (REAPER / FL Studio hosting a Direct2D plugin GUI): with the free added, the private heap plateaus after warmup instead of growing monotonically, with no rendering regression. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/11277
From: Giang Nguyen <nen24t@gmail.com> d2d_figure_cleanup() frees a path figure's vertices, bezier controls and segment data, but never frees the separately allocated vertex_types array, leaking it for every path geometry figure. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=59916 Signed-off-by: Giang Nguyen <nen24t@gmail.com> --- dlls/d2d1/geometry.c | 1 + 1 file changed, 1 insertion(+) diff --git a/dlls/d2d1/geometry.c b/dlls/d2d1/geometry.c index 93816390284..b6903d01024 100644 --- a/dlls/d2d1/geometry.c +++ b/dlls/d2d1/geometry.c @@ -1446,6 +1446,7 @@ static void d2d_figure_cleanup(struct d2d_figure *figure) free(figure->original_bezier_controls); free(figure->bezier_controls); free(figure->vertices); + free(figure->vertex_types); free(figure->segments.data); memset(figure, 0, sizeof(*figure)); } -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/11277
Dj Devend Mandla -- https://gitlab.winehq.org/wine/wine/-/merge_requests/11277#note_144398
DJ devend official -- https://gitlab.winehq.org/wine/wine/-/merge_requests/11277#note_144399
DJ devend official -- https://gitlab.winehq.org/wine/wine/-/merge_requests/11277#note_144400
This merge request was approved by Nikolay Sivov. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/11277
This merge request was approved by Giang Nguyen. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/11277
participants (4)
-
Dj Devend Official (@djdevendofficial) -
Giang Nguyen -
Giang Nguyen (@giang17) -
Nikolay Sivov (@nsivov)