summaryrefslogtreecommitdiffstats
path: root/perl-install/interactive
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/interactive')
-rw-r--r--perl-install/interactive/gtk.pm12
1 files changed, 9 insertions, 3 deletions
diff --git a/perl-install/interactive/gtk.pm b/perl-install/interactive/gtk.pm
index 69b43752d..39397d01b 100644
--- a/perl-install/interactive/gtk.pm
+++ b/perl-install/interactive/gtk.pm
@@ -730,9 +730,15 @@ sub wait_messageW {
pop_it => !$::isInstall,
modal => 1,
if__($::main_window, transient_for => $::main_window),
- child => gtknew('VBox', padding => 4, border_width => 10, children_loose => \@l));
+ child =>
+ gtknew('VBox', padding => 4, border_width => 10, children => [
+ 0, $l[0],
+ map { (1, $_) } @l[1..$#l],
+ ])
+ );
+ $Window->signal_connect(expose_event => sub { $Window->{displayed} = 1; 0 });
$Window->{wait_messageW} = $l[-1];
- mygtk2::sync($Window) if !$Window->{displayed};
+ mygtk2::sync($Window) while !$Window->{displayed};
$Window;
}
sub wait_message_nextW {
@@ -741,7 +747,7 @@ sub wait_message_nextW {
return if $msg eq $Window->{wait_messageW}->get_text; #- needed otherwise no expose_event :(
$Window->{displayed} = 0;
$Window->{wait_messageW}->set($msg);
- mygtk2::sync($Window) if !$Window->{displayed};
+ mygtk2::sync($Window) while !$Window->{displayed};
}
sub wait_message_endW {
my ($_o, $Window) = @_;