[Libreoffice-commits] core.git: Branch 'libreoffice-4-3-6' - fpicker/source sal/osl

Peter Nowee peter.nowee at gmail.com
Fri Jan 23 03:57:49 PST 2015


 fpicker/source/aqua/NSURL_OOoAdditions.mm |    2 +-
 sal/osl/unx/system.c                      |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

New commits:
commit 9a9a33efaf613f8c4b0e0b4f36053c0fda68187b
Author: Peter Nowee <peter.nowee at gmail.com>
Date:   Wed Jan 21 04:31:30 2015 +0100

    fdo#75467 extend Carbon API alias resolve from OS X 10.5 to 10.7
    
    Commits aa539f6 and 7aa4291 (June 2013) change the way Mac alias
    files are resolved. They replace Carbon API calls that were
    deprecated in OS X 10.8, such as FSResolveAliasFile, by Cocoa API
    calls such as CFURLCreateBookmarkDataFromFile.
    
    Unfortunately, these changes were also responsible for bug
    fdo#75467: Under Mac OS X 10.6 and 10.7, selecting a file in the
    Open File dialog or merely viewing files in the Save File dialog
    adds resource fork to those files, changing their sizes and
    modification dates.
    
    Introducing only the calls CFURLCreateBookmarkDataFromFile to
    the code as it was before the above-mentioned commits already
    introduces the bug.
    
    It was further established that the bugs are specific to the OS
    version (10.6 and 10.7), not the bitness (32-bit) of the build.
    (Thanks to Alex Thurgood.)
    
    This all indicates that there is unexpected behavior in Apple's
    CFURLCreateBookmarkDataFromFile under Mac OS X 10.6 and 10.7.
    However, a web search for this behavior yielded no results,
    suggesting it may only show up under specific circumstances.
    Since there is no report of this behavior under Mac OS X 10.8 or
    higher, and a simple and effective solution is available (see
    below), I did not investigate any further.
    
    Reverting to the code using the Carbon API, as it was used up
    until LibreOffice 4.1, resolves the problem for Mac OS X 10.6
    and 10.7.
    
    Douglas Mencken, in his work to port LibreOffice to PowerPC Macs,
    already brought back this code, wrapped in conditional compiler
    directives, so that it only applied to Mac OS X 10.5 and lower.
    See his commits e53eacb1 and 72e8f62 (February 2014).
    
    This commit extends the use of the Carbon API code for resolving
    aliases to Mac OS X 10.6 and 10.7 as well, thereby fixing bug
    fdo#75467.
    
    Change-Id: Ic2af13f487e1e62cb0a2683f3f4bbcf818e77e9f
    Reviewed-on: https://gerrit.libreoffice.org/14123
    Reviewed-by: Tor Lillqvist <tml at collabora.com>
    Tested-by: Tor Lillqvist <tml at collabora.com>
    Reviewed-by: Norbert Thiebaud <nthiebaud at gmail.com>
    Reviewed-by: Michael Stahl <mstahl at redhat.com>

diff --git a/fpicker/source/aqua/NSURL_OOoAdditions.mm b/fpicker/source/aqua/NSURL_OOoAdditions.mm
index 80acb10..4e5ea6b 100644
--- a/fpicker/source/aqua/NSURL_OOoAdditions.mm
+++ b/fpicker/source/aqua/NSURL_OOoAdditions.mm
@@ -83,7 +83,7 @@ NSString* resolveAlias( NSString* i_pSystemPath )
                                                    kCFURLPOSIXPathStyle, false);
     if( rUrl != NULL )
     {
-#if MAC_OS_X_VERSION_MAX_ALLOWED < 1060
+#if MAC_OS_X_VERSION_MAX_ALLOWED < 1080
         FSRef rFS;
         if( CFURLGetFSRef( rUrl, &rFS ) )
         {
diff --git a/sal/osl/unx/system.c b/sal/osl/unx/system.c
index a234fce..8914275 100644
--- a/sal/osl/unx/system.c
+++ b/sal/osl/unx/system.c
@@ -157,7 +157,7 @@ int macxp_resolveAlias(char *path, int buflen)
   (void) buflen;
   return 0;
 #else
-#if MAC_OS_X_VERSION_MAX_ALLOWED < 1060
+#if MAC_OS_X_VERSION_MAX_ALLOWED < 1080
   FSRef aFSRef;
   OSStatus nErr;
   Boolean bFolder;
@@ -181,7 +181,7 @@ int macxp_resolveAlias(char *path, int buflen)
       if ( unprocessedPath )
           *unprocessedPath = '\0';
 
-#if MAC_OS_X_VERSION_MAX_ALLOWED < 1060
+#if MAC_OS_X_VERSION_MAX_ALLOWED < 1080
       nErr = noErr;
       bFolder = FALSE;
       bAliased = FALSE;


More information about the Libreoffice-commits mailing list