Browse Source

* android: In some android versions time zone names are available only after first call of localtime().

git-svn-id: trunk@47329 -
yury 4 years ago
parent
commit
2e48a13bfb
1 changed files with 3 additions and 3 deletions
  1. 3 3
      rtl/android/unixandroid.inc

+ 3 - 3
rtl/android/unixandroid.inc

@@ -128,19 +128,19 @@ begin
   ReadTimeZoneFromLibC:=False;
   lTZInfo:=default(TTZInfo);
   lTZInfoEx:=default(TTZInfoEx);
-  lTZInfoEx.name[false]:=c_tzname[0];
-  lTZInfoEx.name[true]:=c_tzname[1];
   t:=fptime;
   tt:=localtime(@t);
   if tt <> nil then
     begin
+      lTZInfoEx.name[false]:=utf8string(c_tzname[0]);
+      lTZInfoEx.name[true]:=utf8string(c_tzname[1]);
       lTZInfo.daylight:=tt^.tm_isdst <> 0;
       lTZInfo.seconds:=tt^.tm_gmtoff;
       // ToDo: correct validsince/validuntil values
       lTZInfo.validsince:=low(lTZInfo.validsince);
       lTZInfo.validuntil:=high(lTZInfo.validuntil);
       SetTZInfo(lTZInfo, lTZInfoEx);
-      ReadTimeZoneFromLibC:=lTZInfoEx.name[false] <> '';
+      ReadTimeZoneFromLibC:=c_tzname[0] <> nil;
     end;
 end;