summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS3
-rwxr-xr-xdraklive-install15
2 files changed, 18 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index 8c017dd..5f0c794 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,6 @@
+- install callback routine to handle window events whilst waiting
+ for sub-programs to terminate (mga#31105)
+
2.30
- on systems with low RAM, remove unwanted packages after install (mga#27872)
diff --git a/draklive-install b/draklive-install
index c084713..3b8224c 100755
--- a/draklive-install
+++ b/draklive-install
@@ -37,6 +37,21 @@ my $logfile = '/tmp/draklive-install.log';
}
}
+my $child_pid;
+END {
+ run_program::terminate($child_pid) if $child_pid;
+}
+
+sub wait_loop_callback {
+ my ($pid) = @_;
+ $child_pid = $pid;
+ while (Gtk3::events_pending()) {
+ Gtk3::main_iteration();
+ }
+ $child_pid = undef;
+}
+run_program::set_wait_loop_callback(\&wait_loop_callback, 50);
+
($::rootwidth, $::rootheight) = (Gtk3::Gdk::Screen::width, Gtk3::Gdk::Screen::height);
$::real_windowwidth = $::rootwidth > 800 ? 750 : 600;
$::real_windowheight = $::rootheight > 600 ? 500 : 400;