From f55295c7319bb51ab7a22c368582624e1e424655 Mon Sep 17 00:00:00 2001 From: Till Kamppeter Date: Mon, 4 Apr 2005 17:57:49 +0000 Subject: - Fixed bug #4319: Printer options cannot be set after renaming the printer or changing the connection type - Fixed bug of PostScript printers with manufacturer-supplied PPD cannot be renamed at all - Fixed bug of print queue being deleted when renaming fails - Fixed bug of printerdrake trying to open a message window when non-interactive queue generation fails - Fixed pre-definition of $printer->{ARGS}, this bug made printerdrake crashing sometimes --- perl-install/printer/main.pm | 4 ++-- perl-install/printer/printerdrake.pm | 9 +++++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/perl-install/printer/main.pm b/perl-install/printer/main.pm index fd96b9b39..5a82e56a8 100644 --- a/perl-install/printer/main.pm +++ b/perl-install/printer/main.pm @@ -211,7 +211,7 @@ sub resetinfo($) { $printer->{QUEUE} = ""; $printer->{OLD_QUEUE} = ""; $printer->{OLD_CHOICE} = ""; - $printer->{ARGS} = ""; + $printer->{ARGS} = {}; $printer->{DBENTRY} = ""; $printer->{DEFAULT} = ""; $printer->{currentqueue} = {}; @@ -1927,7 +1927,7 @@ sub configure_queue($) { ("--ppd", ($printer->{currentqueue}{ppd} !~ m!^/! ? "/usr/share/cups/model/" : "") . - $printer->{currentqueue}{ppd}) : "") : + $printer->{currentqueue}{ppd}) : ()) : ("-d", "raw"))), "-N", $printer->{currentqueue}{desc}, "-L", $printer->{currentqueue}{loc}, diff --git a/perl-install/printer/printerdrake.pm b/perl-install/printer/printerdrake.pm index 700ea6ce2..f81ecf9ae 100644 --- a/perl-install/printer/printerdrake.pm +++ b/perl-install/printer/printerdrake.pm @@ -4566,7 +4566,7 @@ sub configure_queue { $printer->{complete} = 1; my $retval = printer::main::configure_queue($printer); $printer->{complete} = 0; - if (!$retval) { + if (!$retval && !$printer->{noninteractive}) { local $::isWizard = 0; $in->ask_warn(N("Printerdrake"), N("Failed to configure printer \"%s\"!", @@ -5121,7 +5121,7 @@ sub edit_printer { $printer->{NEW} = 0; while (defined($printer->{QUEUE}) || - defined($queue)) { # Do not when current queue + defined($queue)) { # Do not continue when current queue # is deleted # Modify a queue, ask which part should be modified # $in->set_help('modifyPrinterMenu') if $::isInstall; @@ -5224,11 +5224,12 @@ What do you want to modify on this printer?", choose_printer_type($printer, $in, $upNetwork) && setup_printer_connection($printer, $in, $upNetwork) && #get_db_entry($printer, $in) && - #get_printer_info($printer, $in) && + get_printer_info($printer, $in) && configure_queue($printer, $in); } elsif ($modify eq N("Printer name, description, location")) { choose_printer_name($printer, $in) and - configure_queue($printer, $in); + get_printer_info($printer, $in) and + configure_queue($printer, $in) or next; # Delete old queue when it was renamed if (lc($printer->{QUEUE}) ne lc($printer->{OLD_QUEUE})) { my $_w = $in->wait_message( -- cgit v1.2.1