diff options
author | Pablo Barciela <[email protected]> | 2018-12-02 01:50:51 +0100 |
---|---|---|
committer | Pablo Barciela <[email protected]> | 2018-12-02 01:50:51 +0100 |
commit | 9628efb30335fc08cd58bd8c51a8e84f18cf8b95 (patch) | |
tree | ccd5723e9b24db4859b5f36e76b3c37adb9da9cf | |
parent | 76d6eff17e27330431d4e1a787eea1f16744c266 (diff) | |
download | mate-panel-9628efb30335fc08cd58bd8c51a8e84f18cf8b95.tar.bz2 mate-panel-9628efb30335fc08cd58bd8c51a8e84f18cf8b95.tar.xz |
panel-gtk: Fix memory leaks
'g_strconcat' needs to be freed
-rw-r--r-- | mate-panel/libpanel-util/panel-gtk.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/mate-panel/libpanel-util/panel-gtk.c b/mate-panel/libpanel-util/panel-gtk.c index 47cf17db..b575a7b2 100644 --- a/mate-panel/libpanel-util/panel-gtk.c +++ b/mate-panel/libpanel-util/panel-gtk.c @@ -183,6 +183,7 @@ GtkWidget * panel_image_menu_item_new_from_icon (const gchar *icon_name, const gchar *label_name) { + gchar *concat; GtkWidget *icon; GtkStyleContext *context; GtkWidget *box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6); @@ -193,7 +194,8 @@ panel_image_menu_item_new_from_icon (const gchar *icon_name, else icon = gtk_image_new (); - GtkWidget *label_menu = gtk_label_new_with_mnemonic (g_strconcat (label_name, " ", NULL)); + concat = g_strconcat (label_name, " ", NULL); + GtkWidget *label_menu = gtk_label_new_with_mnemonic (concat); GtkWidget *menuitem = gtk_menu_item_new (); context = gtk_widget_get_style_context (GTK_WIDGET(icon_box)); @@ -210,6 +212,8 @@ panel_image_menu_item_new_from_icon (const gchar *icon_name, g_settings_bind (icon_settings, "menus-have-icons", icon, "visible", G_SETTINGS_BIND_GET); + g_free (concat); + return menuitem; } @@ -217,6 +221,7 @@ GtkWidget * panel_image_menu_item_new_from_gicon (GIcon *gicon, const gchar *label_name) { + gchar *concat; GtkWidget *icon; GtkStyleContext *context; GtkWidget *box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6); @@ -227,7 +232,8 @@ panel_image_menu_item_new_from_gicon (GIcon *gicon, else icon = gtk_image_new (); - GtkWidget *label_menu = gtk_label_new_with_mnemonic (g_strconcat (label_name, " ", NULL)); + concat = g_strconcat (label_name, " ", NULL); + GtkWidget *label_menu = gtk_label_new_with_mnemonic (concat); GtkWidget *menuitem = gtk_menu_item_new (); context = gtk_widget_get_style_context (GTK_WIDGET(icon_box)); @@ -244,6 +250,8 @@ panel_image_menu_item_new_from_gicon (GIcon *gicon, g_settings_bind (icon_settings, "menus-have-icons", icon, "visible", G_SETTINGS_BIND_GET); + g_free (concat); + return menuitem; } @@ -253,9 +261,9 @@ panel_check_menu_item_new (GtkWidget *widget_check) GtkWidget *box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6); GtkWidget *menuitem = gtk_menu_item_new (); GtkWidget *label_name = gtk_bin_get_child (GTK_BIN (widget_check)); + gchar *concat = g_strconcat (gtk_label_get_label (GTK_LABEL (label_name)), " ", NULL); - gtk_label_set_text_with_mnemonic (GTK_LABEL (label_name), - g_strconcat (gtk_label_get_label (GTK_LABEL (label_name)), " ", NULL)); + gtk_label_set_text_with_mnemonic (GTK_LABEL (label_name), concat); gtk_widget_set_margin_start (widget_check, 2); gtk_widget_set_margin_start (gtk_bin_get_child (GTK_BIN (widget_check)), 11); @@ -266,5 +274,7 @@ panel_check_menu_item_new (GtkWidget *widget_check) gtk_label_set_mnemonic_widget (GTK_LABEL (label_name), menuitem); + g_free (concat); + return menuitem; } |