[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - include/sal ucb/source

Stephan Bergmann sbergman at redhat.com
Mon Feb 23 07:20:27 PST 2015


 include/sal/log-areas.dox     |    1 +
 ucb/source/ucp/file/shell.cxx |    9 ++++++++-
 2 files changed, 9 insertions(+), 1 deletion(-)

New commits:
commit 80a60fc02be0f94af0abc22e5b047ce4db88d87e
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Mon Feb 23 10:31:21 2015 +0100

    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 at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/include/sal/log-areas.dox b/include/sal/log-areas.dox
index 9b55f74..baea1d4 100644
--- a/include/sal/log-areas.dox
+++ b/include/sal/log-areas.dox
@@ -345,6 +345,7 @@ certain functionality.
 @li @c ucb.ucp
 @li @c ucb.ucp.cmis
 @li @c ucb.ucp.ext
+ at li @c ucb.ucp.file
 @li @c ucb.ucp.ftp
 @li @c ucb.ucp.gio
 @li @c ucb.ucp.gvfs
diff --git a/ucb/source/ucp/file/shell.cxx b/ucb/source/ucp/file/shell.cxx
index c07e97d..36eb82d 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 );


More information about the Libreoffice-commits mailing list