diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2015-06-25 14:56:59 +0200 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2015-06-25 15:09:56 +0200 |
commit | 33f9cbafcd1a0492c19c53282454184d28fc771f (patch) | |
tree | ef51a1fe1edebc5c06c3470999407166fcca2b1c | |
parent | 6de82c9be303aabfc2a911b2231d38b18642b487 (diff) | |
download | gtk+-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.c | 11 |
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; |