Update SNAPSHOT for OpenOffice 4.1.2-RC3. git-svn-id: https://svn.apache.org/repos/asf/openoffice/tags/SNAPSHOT@1709699 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/main/NOTICE b/main/NOTICE index 52b20ee..075ff93 100644 --- a/main/NOTICE +++ b/main/NOTICE
@@ -1,5 +1,5 @@ Apache OpenOffice (http://www.openoffice.org) -Copyright 2011, 2014 The Apache Software Foundation +Copyright 2011, 2015 The Apache Software Foundation This product includes software developed at The Apache Software Foundation (http://www.apache.org/).
diff --git a/main/extensions.lst b/main/extensions.lst index 736da8f..b7e94a8 100644 --- a/main/extensions.lst +++ b/main/extensions.lst
@@ -137,7 +137,7 @@ # Portuguese (European). [ language=pt || language=pt_PT ] - c29cd2b68639b4fe78e98f88f1b4dd8e http://sourceforge.net/projects/aoo-extensions/files/1196/30/oo3x-pt-pt-14.7.8.2.oxt/download "dict-pt.oxt" + 290d182dfad2c65ae2103228a8ed355f http://sourceforge.net/projects/aoo-extensions/files/1196/36/oo3x-pt-pt-15.10.3.1.oxt/download "dict-pt.oxt" # Catalan. [ language=ca ]
diff --git a/main/i18npool/source/search/textsearch.cxx b/main/i18npool/source/search/textsearch.cxx index ec16d4f..6b646d1 100644 --- a/main/i18npool/source/search/textsearch.cxx +++ b/main/i18npool/source/search/textsearch.cxx
@@ -241,10 +241,18 @@ sres = (this->*fnForward)( in_str, newStartPos, newEndPos ); + sal_Int32 nOffsetLength = offset.getLength(); + sal_Int32 nStartOffset = 0; for ( int k = 0; k < sres.startOffset.getLength(); k++ ) { - if (sres.startOffset[k]) - sres.startOffset[k] = offset[sres.startOffset[k]]; + nStartOffset = sres.startOffset[k]; + if ( nStartOffset ) + { + if ( nStartOffset < nOffsetLength ) + sres.startOffset[k] = offset[nStartOffset]; + else + sres.startOffset[k] = offset[offset.getLength()-1] +1; + } // JP 20.6.2001: end is ever exclusive and then don't return // the position of the next character - return the // next position behind the last found character! @@ -330,6 +338,8 @@ sres = (this->*fnBackward)( in_str, newStartPos, newEndPos ); + sal_Int32 nOffsetLength = offset.getLength(); + sal_Int32 nEndOffset = 0; for ( int k = 0; k < sres.startOffset.getLength(); k++ ) { if (sres.startOffset[k]) @@ -338,8 +348,14 @@ // the position of the next character - return the // next position behind the last found character! // "a b c" find "b" must return 2,3 and not 2,4!!! - if (sres.endOffset[k]) - sres.endOffset[k] = offset[sres.endOffset[k]]; + nEndOffset = sres.endOffset[k]; + if ( nEndOffset ) + { + if ( nEndOffset < nOffsetLength ) + sres.endOffset[k] = offset[nEndOffset]; + else + sres.endOffset[k] = offset[offset.getLength()-1] +1; + } } } else
diff --git a/main/sal/osl/unx/socket.c b/main/sal/osl/unx/socket.c index 8ebe30c..1f8aaab 100644 --- a/main/sal/osl/unx/socket.c +++ b/main/sal/osl/unx/socket.c
@@ -490,7 +490,7 @@ pSocket->m_CallbackArg = 0; pSocket->m_nRefCount = 1; -#if defined(LINUX) +#if CLOSESOCKET_DOESNT_WAKE_UP_ACCEPT pSocket->m_bIsAccepting = sal_False; #endif @@ -1824,13 +1824,13 @@ { if( pSocket && 0 == osl_decrementInterlockedCount( &(pSocket->m_nRefCount) ) ) { -#if defined(LINUX) +#if CLOSESOCKET_DOESNT_WAKE_UP_ACCEPT if ( pSocket->m_bIsAccepting == sal_True ) { OSL_ENSURE(0, "osl_destroySocket : attempt to destroy socket while accepting\n"); return; } -#endif /* LINUX */ +#endif /* CLOSESOCKET_DOESNT_WAKE_UP_ACCEPT */ osl_closeSocket( pSocket ); __osl_destroySocketImpl( pSocket ); } @@ -1858,7 +1858,7 @@ pSocket->m_Socket = OSL_INVALID_SOCKET; -#if defined(LINUX) +#if CLOSESOCKET_DOESNT_WAKE_UP_ACCEPT pSocket->m_bIsInShutdown = sal_True; if ( pSocket->m_bIsAccepting == sal_True ) @@ -1904,7 +1904,7 @@ } pSocket->m_bIsAccepting = sal_False; } -#endif /* LINUX */ +#endif /* CLOSESOCKET_DOESNT_WAKE_UP_ACCEPT */ /* registrierten Callback ausfuehren */ if (pSocket->m_CloseCallback != NULL) @@ -2185,9 +2185,9 @@ } pSocket->m_nLastError=0; -#if defined(LINUX) +#if CLOSESOCKET_DOESNT_WAKE_UP_ACCEPT pSocket->m_bIsAccepting = sal_True; -#endif /* LINUX */ +#endif /* CLOSESOCKET_DOESNT_WAKE_UP_ACCEPT */ if( ppAddr && *ppAddr ) { @@ -2208,23 +2208,23 @@ pSocket->m_nLastError=errno; OSL_TRACE("osl_acceptConnectionOnSocket : accept error '%s'\n",strerror(errno)); -#if defined(LINUX) +#if CLOSESOCKET_DOESNT_WAKE_UP_ACCEPT pSocket->m_bIsAccepting = sal_False; -#endif /* LINUX */ +#endif /* CLOSESOCKET_DOESNT_WAKE_UP_ACCEPT */ return 0; } OSL_ASSERT(AddrLen == sizeof(struct sockaddr)); -#if defined(LINUX) +#if CLOSESOCKET_DOESNT_WAKE_UP_ACCEPT if ( pSocket->m_bIsInShutdown == sal_True ) { close(Connection); OSL_TRACE("osl_acceptConnectionOnSocket : close while accept\n"); return 0; } -#endif /* LINUX */ +#endif /* CLOSESOCKET_DOESNT_WAKE_UP_ACCEPT */ if(ppAddr) @@ -2253,11 +2253,11 @@ pConnectionSockImpl->m_nLastError = 0; pConnectionSockImpl->m_CloseCallback = NULL; pConnectionSockImpl->m_CallbackArg = NULL; -#if defined(LINUX) +#if CLOSESOCKET_DOESNT_WAKE_UP_ACCEPT pConnectionSockImpl->m_bIsAccepting = sal_False; pSocket->m_bIsAccepting = sal_False; -#endif /* LINUX */ +#endif /* CLOSESOCKET_DOESNT_WAKE_UP_ACCEPT */ return pConnectionSockImpl; }
diff --git a/main/sal/osl/unx/sockimpl.h b/main/sal/osl/unx/sockimpl.h index 8c12e1a..2cec813 100644 --- a/main/sal/osl/unx/sockimpl.h +++ b/main/sal/osl/unx/sockimpl.h
@@ -33,6 +33,12 @@ #endif typedef void* (*oslCloseCallback) (void*); + +#if defined(LINUX) || defined(FREEBSD) || defined(NETBSD) +#define CLOSESOCKET_DOESNT_WAKE_UP_ACCEPT 1 +#else +#define CLOSESOCKET_DOESNT_WAKE_UP_ACCEPT 0 +#endif struct oslSocketImpl { int m_Socket; @@ -40,7 +46,7 @@ oslCloseCallback m_CloseCallback; void* m_CallbackArg; oslInterlockedCount m_nRefCount; -#if defined(LINUX) +#if CLOSESOCKET_DOESNT_WAKE_UP_ACCEPT sal_Bool m_bIsAccepting; sal_Bool m_bIsInShutdown; #endif
diff --git a/main/sal/osl/w32/file_error.c b/main/sal/osl/w32/file_error.c index 322c7f7..44222f5 100644 --- a/main/sal/osl/w32/file_error.c +++ b/main/sal/osl/w32/file_error.c
@@ -87,8 +87,9 @@ { ERROR_NESTING_NOT_ALLOWED, osl_File_E_AGAIN }, /* 215 */ { ERROR_DIRECTORY, osl_File_E_NOENT }, /* 267 */ { ERROR_NOT_ENOUGH_QUOTA, osl_File_E_NOMEM }, /* 1816 */ + { ERROR_CANT_ACCESS_FILE, osl_File_E_ACCES }, /* 1920 */ { ERROR_UNEXP_NET_ERR, osl_File_E_NETWORK }, /* 59 */ - { ERROR_FILE_CHECKED_OUT, osl_File_E_LOCKED }, /* 220 The file is locked or checked out by another user. */ + { ERROR_FILE_CHECKED_OUT, osl_File_E_ACCES }, /* 220 The file is locked or checked out by another user. */ { ERROR_INVALID_NAME, osl_File_E_NOENT } /* 123 One or more of the names composing the file path has a wrong syntax. */ };
diff --git a/main/solenv/inc/minor.mk b/main/solenv/inc/minor.mk index 02c12ec..6ce1147 100644 --- a/main/solenv/inc/minor.mk +++ b/main/solenv/inc/minor.mk
@@ -19,7 +19,7 @@ # # ************************************************************* RSCVERSION=412 -RSCREVISION=412m2(Build:9781) -BUILD=9781 -LAST_MINOR=m2 +RSCREVISION=412m3(Build:9782) +BUILD=9782 +LAST_MINOR=m3 SOURCEVERSION=AOO412