diff options
author | Pascal Rigaux <pixel@mandriva.com> | 2001-03-07 11:02:14 +0000 |
---|---|---|
committer | Pascal Rigaux <pixel@mandriva.com> | 2001-03-07 11:02:14 +0000 |
commit | 87279d1906a91a4d5963ebe1a05600b23485a7e1 (patch) | |
tree | c27d635a8c8d00f34e6e19a2c2d312e290614837 | |
parent | c65db474bc7818522211c4517061e8df2baea363 (diff) | |
download | drakx-87279d1906a91a4d5963ebe1a05600b23485a7e1.tar drakx-87279d1906a91a4d5963ebe1a05600b23485a7e1.tar.gz drakx-87279d1906a91a4d5963ebe1a05600b23485a7e1.tar.bz2 drakx-87279d1906a91a4d5963ebe1a05600b23485a7e1.tar.xz drakx-87279d1906a91a4d5963ebe1a05600b23485a7e1.zip |
(main): save $@ in $err so that it's not modified before being used
-rw-r--r-- | perl-install/install2.pm | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/perl-install/install2.pm b/perl-install/install2.pm index 245e3fd80..a2284b8da 100644 --- a/perl-install/install2.pm +++ b/perl-install/install2.pm @@ -558,10 +558,11 @@ sub main { eval { &{$install2::{$o->{step}}}($clicked, $o->{steps}{$o->{step}}{entered}); }; + my $err = $@; $o->kill_action; $clicked = 0; - while ($@) { - local $_ = $@; + if ($err) { + local $_ = $err; $o->kill_action; if (/^setstep (.*)/) { $o->{step} = $1; @@ -572,7 +573,8 @@ sub main { /^theme_changed$/ and redo MAIN; unless (/^already displayed/) { eval { $o->errorInStep($_) }; - $@ and next; + $err = $@; + $err and next; } $o->{step} = $o->{steps}{$o->{step}}{onError}; next MAIN unless $o->{steps}{$o->{step}}{reachable}; #- sanity check: avoid a step not reachable on error. |