diff options
author | Norbert Preining <preining@logic.at> | 2008-11-13 01:48:57 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2008-11-13 01:48:57 +0000 |
commit | 2d3a996f6831ce3311fcbfb9fc12b78df01e08a4 (patch) | |
tree | 9fa64e4ef069f14cddc8799d022fbfcef7e4a107 | |
parent | 31f1eba03580dba0d13c4a9b7dc375e213fef5ca (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.pl | 39 |
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; |