From 0d4f6579a8748244952ce13a29966ed7b9e59c3c Mon Sep 17 00:00:00 2001 From: Mars-Wave <57585293+Mars-Wave@users.noreply.github.com> Date: Mon, 28 Sep 2026 15:08:53 +0200 Subject: [PATCH] Release the viewport adjustments on finalize --- src/glviewport.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/glviewport.c b/src/glviewport.c index 73cad6c..cff0f3b 100644 --- a/src/glviewport.c +++ b/src/glviewport.c @@ -27,9 +27,20 @@ G_DEFINE_TYPE_WITH_CODE(WdGLViewport, wd_gl_viewport, GTK_TYPE_GL_AREA, G_ADD_PRIVATE(WdGLViewport) G_IMPLEMENT_INTERFACE(GTK_TYPE_SCROLLABLE, NULL)) +static void wd_gl_viewport_finalize(GObject *object) { + WdGLViewport *viewport = WD_GL_VIEWPORT(object); + WdGLViewportPrivate *priv = wd_gl_viewport_get_instance_private(viewport); + + g_clear_object(&priv->hadjustment); + g_clear_object(&priv->vadjustment); + + G_OBJECT_CLASS(wd_gl_viewport_parent_class)->finalize(object); +} + static void wd_gl_viewport_class_init(WdGLViewportClass *class) { GObjectClass *gobject_class = G_OBJECT_CLASS(class); + gobject_class->finalize = wd_gl_viewport_finalize; gobject_class->set_property = wd_gl_viewport_set_property; gobject_class->get_property = wd_gl_viewport_get_property;