summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2008-11-13 01:48:57 +0000
committerNorbert Preining <preining@logic.at>2008-11-13 01:48:57 +0000
commit2d3a996f6831ce3311fcbfb9fc12b78df01e08a4 (patch)
tree9fa64e4ef069f14cddc8799d022fbfcef7e4a107
parent31f1eba03580dba0d13c4a9b7dc375e213fef5ca (diff)
make GUI installer much MUCH more responsive, and get rid of DoOneEvent!!!
git-svn-id: svn://tug.org/texlive/trunk@11280 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/tlpkg/installer/install-menu-perltk.pl39
1 files changed, 16 insertions, 23 deletions
diff --git a/Master/tlpkg/installer/install-menu-perltk.pl b/Master/tlpkg/installer/install-menu-perltk.pl
index bc1f5d30be9..5d6f101b58d 100644
--- a/Master/tlpkg/installer/install-menu-perltk.pl
+++ b/Master/tlpkg/installer/install-menu-perltk.pl
@@ -100,31 +100,24 @@ my $optfmtstate;
my $optsrcstate;
my $optdocstate;
-push @::start_install_hook, sub { update_statusbar("Starting installation");
- Tk::DoOneEvent(Tk::Event::DONT_WAIT()); Tk::DoOneEvent(Tk::Event::DONT_WAIT());};
-push @::start_postinst_hook, sub { update_statusbar("Starting post-installation Jobs");
- Tk::DoOneEvent(Tk::Event::DONT_WAIT()); Tk::DoOneEvent(Tk::Event::DONT_WAIT());};
-push @::end_install_hook, sub { update_statusbar("Installation finished");
- Tk::DoOneEvent(Tk::Event::DONT_WAIT()); Tk::DoOneEvent(Tk::Event::DONT_WAIT());};
+push @::start_install_hook,
+ sub {
+ update_statusbar("Starting installation");
+ $mainwindow->update;
+ };
+push @::start_postinst_hook,
+ sub {
+ update_statusbar("Starting post-installation Jobs");
+ $mainwindow->update;
+ };
+push @::end_install_hook,
+ sub {
+ update_statusbar("Installation finished");
+ $mainwindow->update;
+ };
push @::install_packages_hook, \&update_statusbar;
-# no idea how many of those are necessary, 1 is definitely not enough!
-push @::install_packages_hook, sub { Tk::DoOneEvent(Tk::Event::DONT_WAIT()); };
-push @::install_packages_hook, sub { Tk::DoOneEvent(Tk::Event::DONT_WAIT()); };
-push @::install_packages_hook, sub { Tk::DoOneEvent(Tk::Event::DONT_WAIT()); };
-push @::install_packages_hook, sub { Tk::DoOneEvent(Tk::Event::DONT_WAIT()); };
-push @::install_packages_hook, sub { Tk::DoOneEvent(Tk::Event::DONT_WAIT()); };
-push @::install_packages_hook, sub { Tk::DoOneEvent(Tk::Event::DONT_WAIT()); };
-push @::install_packages_hook, sub { Tk::DoOneEvent(Tk::Event::DONT_WAIT()); };
-push @::install_packages_hook, sub { Tk::DoOneEvent(Tk::Event::DONT_WAIT()); };
-push @::install_packages_hook, sub { Tk::DoOneEvent(Tk::Event::DONT_WAIT()); };
-push @::install_packages_hook, sub { Tk::DoOneEvent(Tk::Event::DONT_WAIT()); };
-push @::install_packages_hook, sub { Tk::DoOneEvent(Tk::Event::DONT_WAIT()); };
-push @::install_packages_hook, sub { Tk::DoOneEvent(Tk::Event::DONT_WAIT()); };
-push @::install_packages_hook, sub { Tk::DoOneEvent(Tk::Event::DONT_WAIT()); };
-push @::install_packages_hook, sub { Tk::DoOneEvent(Tk::Event::DONT_WAIT()); };
-push @::install_packages_hook, sub { Tk::DoOneEvent(Tk::Event::DONT_WAIT()); };
-push @::install_packages_hook, sub { Tk::DoOneEvent(Tk::Event::DONT_WAIT()); };
+push @::install_packages_hook, sub { $mainwindow->update; };
sub update_statusbar {
my $p = shift;