diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2015-02-23 10:31:21 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2015-02-23 15:19:57 +0000 |
commit | 80a60fc02be0f94af0abc22e5b047ce4db88d87e (patch) | |
tree | 770c99d9887d561731ed8eb9ee2e5bcb731e34d6 /ucb | |
parent | 3e3f0f5c3051ea982f8f753e0f3e51441e8f9496 (diff) |
file UCP: Ensure myLocalTime is initialized
When a file's time is epoch (1970-01-01 00:00:00, i.e., TimeValue temp is all
zero) and the TZ is UTC or westward, osl_getLocalTimeFromSystemTime returns
false and leaves myLocalTime uninitialized. That e.g. confuses getModuleByUrl
(scripting/source/pyprov/pythonscript.py), potentially re-loading a Python
script with epoch time (as happens e.g. for the share/Scripts/python/ files in
an xdg-app installation of LO) every time it is accessed, falsely assuming it
has changed on disk since last load.
Change-Id: I8d4228feb28e2697a7021e3488ae2c09e8439ed8
(cherry picked from commit 94c9206399954d018aae8a1bd4e4b33354b9cdaf)
Reviewed-on: https://gerrit.libreoffice.org/14587
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'ucb')
-rw-r--r-- | ucb/source/ucp/file/shell.cxx | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/ucb/source/ucp/file/shell.cxx b/ucb/source/ucp/file/shell.cxx index c07e97d49be8..36eb82d9dae0 100644 --- a/ucb/source/ucp/file/shell.cxx +++ b/ucb/source/ucp/file/shell.cxx @@ -2440,7 +2440,14 @@ shell::commit( const shell::ContentMap::iterator& it, // Convert system time to local time (for EA) TimeValue myLocalTime; - osl_getLocalTimeFromSystemTime( &temp, &myLocalTime ); + if (!osl_getLocalTimeFromSystemTime( &temp, &myLocalTime )) + { + SAL_WARN( + "ucb.ucp.file", + "cannot convert (" << temp.Seconds << ", " << temp.Nanosec + << ") to local time"); + myLocalTime = temp; + } oslDateTime myDateTime; osl_getDateTimeFromTimeValue( &myLocalTime, &myDateTime ); |