diff options
author | Thierry Vignaud <tv@mandriva.org> | 2008-08-22 09:03:38 +0000 |
---|---|---|
committer | Thierry Vignaud <tv@mandriva.org> | 2008-08-22 09:03:38 +0000 |
commit | 67658a56acfd14a290ac9702b8da0f7f7ad544f4 (patch) | |
tree | 4f8b8ac86e96bdbfc352fe11c3b5a7d8d4dae826 /perl-install/diskdrake | |
parent | 1d07c044b8b9dd56512a77ea4c208bb85e6112ba (diff) | |
download | drakx-67658a56acfd14a290ac9702b8da0f7f7ad544f4.tar drakx-67658a56acfd14a290ac9702b8da0f7f7ad544f4.tar.gz drakx-67658a56acfd14a290ac9702b8da0f7f7ad544f4.tar.bz2 drakx-67658a56acfd14a290ac9702b8da0f7f7ad544f4.tar.xz drakx-67658a56acfd14a290ac9702b8da0f7f7ad544f4.zip |
(main) ensure we initialize only once but at least one, thus fixing
crash when embedded or in installer (#43011)
Diffstat (limited to 'perl-install/diskdrake')
-rw-r--r-- | perl-install/diskdrake/hd_gtk.pm | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/perl-install/diskdrake/hd_gtk.pm b/perl-install/diskdrake/hd_gtk.pm index d119c1db1..76ced7920 100644 --- a/perl-install/diskdrake/hd_gtk.pm +++ b/perl-install/diskdrake/hd_gtk.pm @@ -70,8 +70,11 @@ sub main { 0, (my $general_action_box = Gtk2::HBox->new(0,0)), ), ); - my $lock; + my ($lock, $initializing) = (undef, 1); $update_all = sub { + state $not_first; + return if $initializing && $not_first; + $not_first = 1; $lock and return; $lock = 1; partition_table::assign_device_numbers($_) foreach fs::get::hds($all_hds); @@ -87,9 +90,7 @@ sub main { $notebook_widget->signal_connect(switch_page => sub { $current_kind = $notebook[$_[2]]; $current_entry = ''; - state $not_first; - $update_all->() if $not_first; - $not_first = 1; + $update_all->(); }); # ensure partitions bar is properlyz size on first display: $notebook_widget->signal_connect(realize => $update_all); @@ -102,6 +103,7 @@ sub main { N("If you plan to use aboot, be careful to leave a free space (2048 sectors is enough) at the beginning of the disk")) if arch() eq 'alpha' && !$::isEmbedded; + undef $initializing; $w->main; } |