summaryrefslogtreecommitdiffstats
path: root/perl-install
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install')
-rw-r--r--perl-install/NEWS3
-rwxr-xr-xperl-install/standalone/drakclock8
2 files changed, 10 insertions, 1 deletions
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;