From 23acc32c54cb1e8f2dac5bd4f5210e5665981458 Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Sun, 7 Oct 2012 11:59:38 +0000 Subject: never crash if timezones cannot be listed (mga#6787) (backported from trunk) --- 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 17e5b6022..9ffe39a9b 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.21.3 - 19 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