From 2885bab77f429c996e3ee600d4437f762e29481f Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Fri, 21 Sep 2012 16:15:52 +0000 Subject: never crash if timezones cannot be listed (mga#6787) --- perl-install/NEWS | 3 +++ perl-install/standalone/drakclock | 8 +++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/perl-install/NEWS b/perl-install/NEWS index 7c6c7d98a..0bb091f7c 100644 --- a/perl-install/NEWS +++ b/perl-install/NEWS @@ -1,3 +1,6 @@ +- drakclock: + o do not crash if timezones cannot be listed (mga#6787) + Version 14.45 - 20 September 2012 - do not crash when trying to guess homedir before running another diff --git a/perl-install/standalone/drakclock b/perl-install/standalone/drakclock index 482548d38..0ca3c5b51 100755 --- a/perl-install/standalone/drakclock +++ b/perl-install/standalone/drakclock @@ -39,14 +39,20 @@ my $timezone = timezone::read(); my $label_timezone = gtknew('Label', text => $timezone->{timezone} || N("not defined")); my $button_time = gtknew('Button', text => N("Change Time Zone")); +my @timezones = eval { timezone::getTimeZones() }; +my $err = $@; $button_time->signal_connect(clicked => sub { local $::isEmbedded = 0; # to prevent sub window embedding - if ($timezone->{timezone} = $in->ask_from_treelist(N("Timezone - DrakClock"), N("Which is your timezone?"), '/', [ timezone::getTimeZones() ], $timezone->{timezone})) { + if ($timezone->{timezone} = $in->ask_from_treelist(N("Timezone - DrakClock"), N("Which is your timezone?"), '/', \@timezones, $timezone->{timezone})) { $timezone->{UTC} = $in->ask_yesorno(N("GMT - DrakClock"), N("Is your hardware clock set to GMT?"), $timezone->{UTC}); timezone::write($timezone); } $label_timezone->set_text($timezone->{timezone}); }); +if (!@timezones) { + warn "Failed to retrieve timezone list: $err\n"; + $button_time->set_sensitive(0); +} my $drawing_area; -- cgit v1.2.1