diff options
author | Pascal Rigaux <pixel@mandriva.com> | 2001-09-09 16:13:16 +0000 |
---|---|---|
committer | Pascal Rigaux <pixel@mandriva.com> | 2001-09-09 16:13:16 +0000 |
commit | bb4eb6bb98e98b33e83ba4ae934049a6f2cac4e0 (patch) | |
tree | 3e30a6715abc4926fe474dcd5940f81c11195f55 /perl-install/interactive_newt.pm | |
parent | 7dd49ba305d4d26ca06904de3f39031596de571c (diff) | |
download | drakx-backup-do-not-use-bb4eb6bb98e98b33e83ba4ae934049a6f2cac4e0.tar drakx-backup-do-not-use-bb4eb6bb98e98b33e83ba4ae934049a6f2cac4e0.tar.gz drakx-backup-do-not-use-bb4eb6bb98e98b33e83ba4ae934049a6f2cac4e0.tar.bz2 drakx-backup-do-not-use-bb4eb6bb98e98b33e83ba4ae934049a6f2cac4e0.tar.xz drakx-backup-do-not-use-bb4eb6bb98e98b33e83ba4ae934049a6f2cac4e0.zip |
clicked_may_quit used in place of clicked+exception to work-around perl-GTK bug (?)
Diffstat (limited to 'perl-install/interactive_newt.pm')
-rw-r--r-- | perl-install/interactive_newt.pm | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/perl-install/interactive_newt.pm b/perl-install/interactive_newt.pm index 3d5beabd0..abdb09503 100644 --- a/perl-install/interactive_newt.pm +++ b/perl-install/interactive_newt.pm @@ -186,23 +186,26 @@ sub ask_fromW { !$error; }; - my $canceled; + my ($destroyed, $canceled); do { my $r = $form->RunForm; foreach (@widgets) { if ($$r == ${$_->{w}}) { + $destroyed = 1; $form->FormDestroy; Newt::PopWindow; - $_->{e}{clicked}(); - return ask_fromW($o, $common, $l, $l2); + my $v = $_->{e}{clicked_may_quit}(); + $v or return ask_fromW($o, $common, $l, $l2); } } $canceled = $cancel && $$r == $$cancel; } until ($check->($common->{callbacks}{$canceled ? 'canceled' : 'complete'})); - $form->FormDestroy; - Newt::PopWindow; + if (!$destroyed) { + $form->FormDestroy; + Newt::PopWindow; + } !$canceled; } |