Fix another leak

svn path=/trunk/; revision=17050
This commit is contained in:
Matthias Clasen 2007-01-04 05:09:08 +00:00
parent 4e332f0da6
commit 5db7fbc8dc
2 changed files with 11 additions and 6 deletions

View File

@ -1,5 +1,8 @@
2007-01-03 Matthias Clasen <mclasen@redhat.com> 2007-01-03 Matthias Clasen <mclasen@redhat.com>
* modules/printbackends/cups/gtkprintbackendcups.c
(available_choices): Don't leak conflicts.
* gtk/gtkprintoperation.c (gtk_print_operation_finalize): * gtk/gtkprintoperation.c (gtk_print_operation_finalize):
Don't leak the status string. Don't leak the status string.

View File

@ -1786,12 +1786,13 @@ available_choices (ppd_file_t *ppd,
all_default = FALSE; all_default = FALSE;
} }
if (all_default && !keep_if_only_one_option) if ((all_default && !keep_if_only_one_option) ||
return 0; (num_conflicts == option->num_choices))
{
if (num_conflicts == option->num_choices) g_free (conflicts);
return 0;
return 0;
}
/* Some ppds don't have a "use printer default" option for /* Some ppds don't have a "use printer default" option for
* InputSlot. This means you always have to select a particular slot, * InputSlot. This means you always have to select a particular slot,
@ -1830,7 +1831,6 @@ available_choices (ppd_file_t *ppd,
if (available) if (available)
{ {
*available = g_new (ppd_choice_t *, option->num_choices - num_conflicts + add_auto); *available = g_new (ppd_choice_t *, option->num_choices - num_conflicts + add_auto);
i = 0; i = 0;
@ -1843,6 +1843,8 @@ available_choices (ppd_file_t *ppd,
if (add_auto) if (add_auto)
(*available)[i++] = NULL; (*available)[i++] = NULL;
} }
g_free (conflicts);
return option->num_choices - num_conflicts + add_auto; return option->num_choices - num_conflicts + add_auto;
} }