summaryrefslogtreecommitdiffstats
path: root/perl-install/interactive_newt.pm
diff options
context:
space:
mode:
authorPascal Rigaux <pixel@mandriva.com>2001-09-09 16:13:16 +0000
committerPascal Rigaux <pixel@mandriva.com>2001-09-09 16:13:16 +0000
commitbb4eb6bb98e98b33e83ba4ae934049a6f2cac4e0 (patch)
tree3e30a6715abc4926fe474dcd5940f81c11195f55 /perl-install/interactive_newt.pm
parent7dd49ba305d4d26ca06904de3f39031596de571c (diff)
downloaddrakx-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.pm13
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;
}