From: Matthias Clasen Date: Tue, 9 May 2023 10:51:53 +0000 (-0400) Subject: gsk: Fix a refcounting mishap X-Git-Tag: archive/raspbian/4.12.3+ds-1+rpi1~1^2^2^2~22^2~1^2~292^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=97bc4f77c62498c08077286f0b8bd193d3de2391;p=gtk4.git gsk: Fix a refcounting mishap This may fix #5823 --- diff --git a/gsk/gl/gskglrenderjob.c b/gsk/gl/gskglrenderjob.c index 25943c3fe1..85ee17eac8 100644 --- a/gsk/gl/gskglrenderjob.c +++ b/gsk/gl/gskglrenderjob.c @@ -506,6 +506,7 @@ extract_matrix_metadata (GskGLRenderModelview *modelview) } } +/* takes ownership of transform */ static void gsk_gl_render_job_set_modelview (GskGLRenderJob *job, GskTransform *transform) @@ -538,6 +539,7 @@ gsk_gl_render_job_set_modelview (GskGLRenderJob *job, job->current_modelview = modelview; } +/* doesn't take ownership of transform */ static void gsk_gl_render_job_push_modelview (GskGLRenderJob *job, GskTransform *transform) @@ -2123,7 +2125,6 @@ gsk_gl_render_job_visit_transform_node (GskGLRenderJob *job, scale = gsk_transform_translate (gsk_transform_scale (NULL, sx, sy), &GRAPHENE_POINT_INIT (tx, ty)); gsk_gl_render_job_push_modelview (job, scale); transform = gsk_transform_transform (gsk_transform_invert (scale), transform); - gsk_transform_unref (scale); } }