summaryrefslogtreecommitdiff
path: root/modules/printbackends
diff options
context:
space:
mode:
authorSebastien Bacher <sbacher@src.gnome.org>2008-07-24 12:56:59 +0000
committerSebastien Bacher <sbacher@src.gnome.org>2008-07-24 12:56:59 +0000
commit862fde72de02076d1b5b33b919410dc19ac5a8d2 (patch)
treebcde4db074b043ff932b392948732b15464df2d6 /modules/printbackends
parentc8061385a94d869bee968b4137514e394fde3504 (diff)
downloadgdk-pixbuf-862fde72de02076d1b5b33b919410dc19ac5a8d2.tar.gz
don't try free gettext() values,
fix a printing dialog crasher (bug 544390) svn path=/trunk/; revision=20904
Diffstat (limited to 'modules/printbackends')
-rw-r--r--modules/printbackends/cups/gtkprintbackendcups.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/modules/printbackends/cups/gtkprintbackendcups.c b/modules/printbackends/cups/gtkprintbackendcups.c
index dffb0b52e..f493063b7 100644
--- a/modules/printbackends/cups/gtkprintbackendcups.c
+++ b/modules/printbackends/cups/gtkprintbackendcups.c
@@ -2673,6 +2673,7 @@ cups_printer_get_options (GtkPrinter *printer,
char *cover_display_default[] = {N_("None"), N_("Classified"), N_("Confidential"), N_("Secret"), N_("Standard"), N_("Top Secret"), N_("Unclassified"),};
char **cover = NULL;
char **cover_display = NULL;
+ char **cover_display_translated = NULL;
gint num_of_covers = 0;
gpointer value;
gint j;
@@ -2682,6 +2683,8 @@ cups_printer_get_options (GtkPrinter *printer,
cover[num_of_covers] = NULL;
cover_display = g_new (char *, num_of_covers + 1);
cover_display[num_of_covers] = NULL;
+ cover_display_translated = g_new (char *, num_of_covers + 1);
+ cover_display_translated[num_of_covers] = NULL;
for (i = 0; i < num_of_covers; i++)
{
@@ -2697,11 +2700,11 @@ cups_printer_get_options (GtkPrinter *printer,
}
for (i = 0; i < num_of_covers; i++)
- cover_display[i] = _(cover_display[i]);
+ cover_display_translated[i] = _(cover_display[i]);
option = gtk_printer_option_new ("gtk-cover-before", "Before", GTK_PRINTER_OPTION_TYPE_PICKONE);
gtk_printer_option_choices_from_array (option, num_of_covers,
- cover, cover_display);
+ cover, cover_display_translated);
if (backend->default_cover_before != NULL)
gtk_printer_option_set (option, backend->default_cover_before);
@@ -2713,7 +2716,7 @@ cups_printer_get_options (GtkPrinter *printer,
option = gtk_printer_option_new ("gtk-cover-after", "After", GTK_PRINTER_OPTION_TYPE_PICKONE);
gtk_printer_option_choices_from_array (option, num_of_covers,
- cover, cover_display);
+ cover, cover_display_translated);
if (backend->default_cover_after != NULL)
gtk_printer_option_set (option, backend->default_cover_after);
else
@@ -2724,6 +2727,7 @@ cups_printer_get_options (GtkPrinter *printer,
g_strfreev (cover);
g_strfreev (cover_display);
+ g_free (cover_display_translated);
}
option = gtk_printer_option_new ("gtk-print-time", "Print at", GTK_PRINTER_OPTION_TYPE_PICKONE);