From: Matthias Clasen Date: Tue, 4 Feb 2020 23:24:14 +0000 (+0100) Subject: widget: Fix a memory leak with class actions X-Git-Tag: archive/raspbian/4.4.1+ds1-2+rpi1^2~18^2~20^2~95 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=fac435ba9827b6d0fb522306e1a720a33f767f90;p=gtk4.git widget: Fix a memory leak with class actions This code was doing the wrong thing even if the parent class doesn't have actions. --- diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index d93b4b13a5..1ddee3026e 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -12957,9 +12957,9 @@ gtk_widget_class_add_action (GtkWidgetClass *widget_class, if (priv->actions == NULL) priv->actions = g_ptr_array_new (); - else if (GTK_IS_WIDGET_CLASS (&widget_class->parent_class)) + else { - GtkWidgetClass *parent_class = GTK_WIDGET_CLASS (&widget_class->parent_class); + GtkWidgetClass *parent_class = GTK_WIDGET_CLASS (g_type_class_peek (g_type_parent (G_TYPE_FROM_CLASS (widget_class)))); GtkWidgetClassPrivate *parent_priv = parent_class->priv; GPtrArray *parent_actions = parent_priv->actions;