diff options
author | Sebastien Bacher <sbacher@src.gnome.org> | 2008-07-24 12:56:59 +0000 |
---|---|---|
committer | Sebastien Bacher <sbacher@src.gnome.org> | 2008-07-24 12:56:59 +0000 |
commit | 862fde72de02076d1b5b33b919410dc19ac5a8d2 (patch) | |
tree | bcde4db074b043ff932b392948732b15464df2d6 /modules/printbackends | |
parent | c8061385a94d869bee968b4137514e394fde3504 (diff) | |
download | gtk+-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.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/modules/printbackends/cups/gtkprintbackendcups.c b/modules/printbackends/cups/gtkprintbackendcups.c index dffb0b52ec..f493063b7d 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); |