diff options
author | Pascal Rigaux <pixel@mandriva.com> | 2002-01-22 12:59:13 +0000 |
---|---|---|
committer | Pascal Rigaux <pixel@mandriva.com> | 2002-01-22 12:59:13 +0000 |
commit | 4477f2cf41cad3af5668d4c7a04fb61c06cd2b03 (patch) | |
tree | a6865eab87ea4d071f79f6011b7c5bac08b6aee2 /perl-install/install_interactive.pm | |
parent | a600d149f05af71115ab119b08ce58c53fd5b626 (diff) | |
download | drakx-4477f2cf41cad3af5668d4c7a04fb61c06cd2b03.tar drakx-4477f2cf41cad3af5668d4c7a04fb61c06cd2b03.tar.gz drakx-4477f2cf41cad3af5668d4c7a04fb61c06cd2b03.tar.bz2 drakx-4477f2cf41cad3af5668d4c7a04fb61c06cd2b03.tar.xz drakx-4477f2cf41cad3af5668d4c7a04fb61c06cd2b03.zip |
fix a few cancel's (reported by slegros)
Diffstat (limited to 'perl-install/install_interactive.pm')
-rw-r--r-- | perl-install/install_interactive.pm | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/perl-install/install_interactive.pm b/perl-install/install_interactive.pm index 180c4b63e..ec50e51db 100644 --- a/perl-install/install_interactive.pm +++ b/perl-install/install_interactive.pm @@ -36,7 +36,10 @@ sub partition_with_diskdrake { local $::expert = $::expert; diskdrake_interactive::main($o, $all_hds, $nowizard); } - delete $o->{wizard} and return partitionWizard($o, 'nodiskdrake'); + if (delete $o->{wizard}) { + partitionWizard($o, 'nodiskdrake') or redo; + return 1; + } my @fstab = fsedit::get_all_fstab($all_hds); unless (fsedit::get_root_(\@fstab)) { @@ -228,13 +231,17 @@ sub partitionWizard { my $ok; while (!$ok) { log::l('HERE: ', join(',', map { $_->[1] } @solutions)); - my $sol = $o->ask_from_listf('', _("The DrakX Partitioning wizard found the following solutions:"), sub { $_[0][1] }, \@solutions) or redo; - log::l("partitionWizard calling solution $sol->[1]"); - eval { $ok = $sol->[2]->() }; - die if $@ =~ /setstep/; - $ok &&= !$@; - $@ and $o->ask_warn('', _("Partitioning failed: %s", $@)); + if (my $sol = $o->ask_from_listf('', _("The DrakX Partitioning wizard found the following solutions:"), sub { $_[0][1] }, \@solutions)) { + log::l("partitionWizard calling solution $sol->[1]"); + eval { $ok = $sol->[2]->() }; + die if $@ =~ /setstep/; + $ok &&= !$@; + $@ and $o->ask_warn('', _("Partitioning failed: %s", $@)); + } else { + $nodiskdrake ? return : die "setstep setupSCSI\n"; + } } + 1; } sub upNetwork { |