From 804d6cf6c9646890907b2f4121280ffb1304f549 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 22 Mar 2023 23:41:40 -0400 Subject: [PATCH] Don't leak all AT contexts create_at_context was confused - it stored a reference to the newly created context in priv->context, but then also returned a reference, and the caller stored that in priv->context again. Change it to only return a reference. Fixes: #5690 (cherry picked from commit 7b22983be58b7f96afa85399f0f7b86b0a4b8e09) --- gtk/gtkwidget.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 974e126172..b933ac513d 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -8499,11 +8499,7 @@ create_at_context (GtkWidget *self) role = class_priv->accessible_role; priv->accessible_role = role; - priv->at_context = gtk_at_context_create (role, GTK_ACCESSIBLE (self), gdk_display_get_default ()); - if (priv->at_context != NULL) - return g_object_ref (priv->at_context); - - return NULL; + return gtk_at_context_create (role, GTK_ACCESSIBLE (self), gdk_display_get_default ()); } static GtkATContext * -- 2.30.2