summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2015-06-25 14:56:59 +0200
committerCarlos Garnacho <carlosg@gnome.org>2015-06-25 15:09:56 +0200
commit33f9cbafcd1a0492c19c53282454184d28fc771f (patch)
treeef51a1fe1edebc5c06c3470999407166fcca2b1c
parent6de82c9be303aabfc2a911b2231d38b18642b487 (diff)
downloadgtk+-33f9cbafcd1a0492c19c53282454184d28fc771f.tar.gz
gtkmodelbutton: Plug a leak
The private struct had some data that needed freeing, but this widget didn't have any destroy/dispose/finalize handlers.
-rw-r--r--gtk/gtkmodelbutton.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/gtk/gtkmodelbutton.c b/gtk/gtkmodelbutton.c
index a3c62bc52e..604d422f63 100644
--- a/gtk/gtkmodelbutton.c
+++ b/gtk/gtkmodelbutton.c
@@ -795,6 +795,16 @@ gtk_model_button_draw (GtkWidget *widget,
}
static void
+gtk_model_button_destroy (GtkWidget *widget)
+{
+ GtkModelButton *model_button = GTK_MODEL_BUTTON (widget);
+
+ g_clear_pointer (&model_button->menu_name, g_free);
+
+ GTK_WIDGET_CLASS (gtk_model_button_parent_class)->destroy (widget);
+}
+
+static void
gtk_model_button_clicked (GtkButton *button)
{
GtkModelButton *model_button = GTK_MODEL_BUTTON (button);
@@ -833,6 +843,7 @@ gtk_model_button_class_init (GtkModelButtonClass *class)
widget_class->get_preferred_height_and_baseline_for_width = gtk_model_button_get_preferred_height_and_baseline_for_width;
widget_class->size_allocate = gtk_model_button_size_allocate;
widget_class->draw = gtk_model_button_draw;
+ widget_class->destroy = gtk_model_button_destroy;
button_class->clicked = gtk_model_button_clicked;