summaryrefslogtreecommitdiffstats
path: root/perl-install/diskdrake/hd_gtk.pm
diff options
context:
space:
mode:
authorThierry Vignaud <tv@mandriva.org>2008-08-22 09:03:38 +0000
committerThierry Vignaud <tv@mandriva.org>2008-08-22 09:03:38 +0000
commit67658a56acfd14a290ac9702b8da0f7f7ad544f4 (patch)
tree4f8b8ac86e96bdbfc352fe11c3b5a7d8d4dae826 /perl-install/diskdrake/hd_gtk.pm
parent1d07c044b8b9dd56512a77ea4c208bb85e6112ba (diff)
downloaddrakx-backup-do-not-use-67658a56acfd14a290ac9702b8da0f7f7ad544f4.tar
drakx-backup-do-not-use-67658a56acfd14a290ac9702b8da0f7f7ad544f4.tar.gz
drakx-backup-do-not-use-67658a56acfd14a290ac9702b8da0f7f7ad544f4.tar.bz2
drakx-backup-do-not-use-67658a56acfd14a290ac9702b8da0f7f7ad544f4.tar.xz
drakx-backup-do-not-use-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/hd_gtk.pm')
-rw-r--r--perl-install/diskdrake/hd_gtk.pm10
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;
}