From 33b805ba1dc4d9cd586742a2ce5cc5a8b93d0ec2 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 4 Jan 2007 05:10:14 +0000 Subject: [PATCH] Fix another memleak svn path=/branches/gtk-2-10/; revision=17051 --- ChangeLog | 3 +++ modules/printbackends/cups/gtkprintbackendcups.c | 14 ++++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2a438008d3..d193b30e11 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2007-01-03 Matthias Clasen + * modules/printbackends/cups/gtkprintbackendcups.c + (available_choices): Don't leak conflicts. + * gtk/gtkprintoperation.c (gtk_print_operation_finalize): Don't leak the status string. diff --git a/modules/printbackends/cups/gtkprintbackendcups.c b/modules/printbackends/cups/gtkprintbackendcups.c index 5964b281cd..8339a3f45a 100644 --- a/modules/printbackends/cups/gtkprintbackendcups.c +++ b/modules/printbackends/cups/gtkprintbackendcups.c @@ -1777,12 +1777,13 @@ available_choices (ppd_file_t *ppd, all_default = FALSE; } - if (all_default && !keep_if_only_one_option) - return 0; - - if (num_conflicts == option->num_choices) - return 0; + if ((all_default && !keep_if_only_one_option) || + (num_conflicts == option->num_choices)) + { + g_free (conflicts); + return 0; + } /* Some ppds don't have a "use printer default" option for * InputSlot. This means you always have to select a particular slot, @@ -1821,7 +1822,6 @@ available_choices (ppd_file_t *ppd, if (available) { - *available = g_new (ppd_choice_t *, option->num_choices - num_conflicts + add_auto); i = 0; @@ -1834,6 +1834,8 @@ available_choices (ppd_file_t *ppd, if (add_auto) (*available)[i++] = NULL; } + + g_free (conflicts); return option->num_choices - num_conflicts + add_auto; }