浏览代码

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

git-svn-id: trunk@47329 -
yury 4 年之前
父节点
当前提交
2e48a13bfb
共有 1 个文件被更改,包括 3 次插入3 次删除
  1. 3 3
      rtl/android/unixandroid.inc

+ 3 - 3
rtl/android/unixandroid.inc

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