instsetoo_native/util/openoffice.lst | 24 +- oox/inc/oox/drawingml/customshapeproperties.hxx | 2 oox/source/drawingml/customshapeproperties.cxx | 5 oox/source/drawingml/shape.cxx | 2 shell/source/win32/shlxthandler/ooofilt/stream_helper.cxx | 3 shell/source/win32/zipfile/zipfile.cxx | 115 +++++++++----- solenv/inc/minor.mk | 4 7 files changed, 98 insertions(+), 57 deletions(-)
New commits: commit 03bbddd943f751969581fb7b68660b9c67885fd4 Author: Andras Timar <andras.ti...@collabora.com> Date: Wed Oct 16 06:01:17 2013 -0700 Bump for 4.0-19 Change-Id: I4bd0056aee58a51ef3560c14b4012c14febb112b diff --git a/instsetoo_native/util/openoffice.lst b/instsetoo_native/util/openoffice.lst index 3fc6bd6..59317f7 100644 --- a/instsetoo_native/util/openoffice.lst +++ b/instsetoo_native/util/openoffice.lst @@ -33,7 +33,7 @@ Globals CREATE_MSP_INSTALLSET 0 UPDATE_DATABASE_LISTNAME finals_instsetoo.txt PACKAGEMAP package_names.txt,package_names_ext.txt - WINDOWSPATCHLEVEL 18 + WINDOWSPATCHLEVEL 19 OOOVENDOR The Document Foundation OOODOWNLOADNAME 1 BUILDIDCWS {buildidcws} @@ -50,13 +50,13 @@ LibreOffice { PRODUCTNAME LibreOffice PRODUCTVERSION 4.0 - PRODUCTEXTENSION -18 + PRODUCTEXTENSION -19 POSTVERSIONEXTENSION POSTVERSIONEXTENSIONUNIX BRANDPACKAGEVERSION 4.0 USERDIRPRODUCTVERSION 4 ABOUTBOXPRODUCTVERSION 4.0 - ABOUTBOXPRODUCTVERSIONSUFFIX :build-318 + ABOUTBOXPRODUCTVERSIONSUFFIX :build-319 BASEPRODUCTVERSION 4.0 PCPFILENAME libreoffice.pcp UPDATEURL http://update.libreoffice.org/check.php @@ -100,14 +100,14 @@ LibreOffice_Dev { PRODUCTNAME LOdev PRODUCTVERSION 4.0 - PRODUCTEXTENSION -18 + PRODUCTEXTENSION -19 UNIXBASISROOTNAME lodev4.0 POSTVERSIONEXTENSION POSTVERSIONEXTENSIONUNIX BRANDPACKAGEVERSION 4.0 USERDIRPRODUCTVERSION 4 ABOUTBOXPRODUCTVERSION 4.0 - ABOUTBOXPRODUCTVERSIONSUFFIX :build-318 + ABOUTBOXPRODUCTVERSIONSUFFIX :build-319 BASEPRODUCTVERSION 4.0 DEVELOPMENTPRODUCT 1 BASISPACKAGEPREFIX lodevbasis @@ -161,7 +161,7 @@ URE PRODUCTVERSION 4.0 PACKAGEVERSION 4.0 PACKAGEREVISION 1 - PRODUCTEXTENSION -18 + PRODUCTEXTENSION -19 BRANDPACKAGEVERSION 4.0 LICENSENAME LGPL NOVERSIONINDIRNAME 1 @@ -192,7 +192,7 @@ LibreOffice_SDK { PRODUCTNAME LibreOffice PRODUCTVERSION 4.0 - PRODUCTEXTENSION -18 + PRODUCTEXTENSION -19 POSTVERSIONEXTENSION SDK POSTVERSIONEXTENSIONUNIX sdk BRANDPACKAGEVERSION 4.0 @@ -231,7 +231,7 @@ LibreOffice_Dev_SDK { PRODUCTNAME LOdev PRODUCTVERSION 4.0 - PRODUCTEXTENSION -18 + PRODUCTEXTENSION -19 UNIXBASISROOTNAME lodev4.0 POSTVERSIONEXTENSION SDK POSTVERSIONEXTENSIONUNIX sdk @@ -276,7 +276,7 @@ LibreOffice_Test { PRODUCTNAME LibreOffice PRODUCTVERSION 4.0 - PRODUCTEXTENSION -18 + PRODUCTEXTENSION -19 POSTVERSIONEXTENSION TEST POSTVERSIONEXTENSIONUNIX test BRANDPACKAGEVERSION 4.0 @@ -315,7 +315,7 @@ LibreOffice_Dev_Test { PRODUCTNAME LOdev PRODUCTVERSION 4.0 - PRODUCTEXTENSION -18 + PRODUCTEXTENSION -19 UNIXBASISROOTNAME lodev4.0 POSTVERSIONEXTENSION TEST POSTVERSIONEXTENSIONUNIX test @@ -359,13 +359,13 @@ OxygenOffice { PRODUCTNAME OxygenOffice PRODUCTVERSION 4.0 - PRODUCTEXTENSION -18 + PRODUCTEXTENSION -19 POSTVERSIONEXTENSION POSTVERSIONEXTENSIONUNIX BRANDPACKAGEVERSION 4.0 USERDIRPRODUCTVERSION 4 ABOUTBOXPRODUCTVERSION 4.0 - ABOUTBOXPRODUCTVERSIONSUFFIX :build-318 + ABOUTBOXPRODUCTVERSIONSUFFIX :build-319 BASEPRODUCTVERSION 4.0 PCPFILENAME openoffice.pcp UPDATEURL http://update.libreoffice.org/check.php diff --git a/solenv/inc/minor.mk b/solenv/inc/minor.mk index 46df670..62f7379 100644 --- a/solenv/inc/minor.mk +++ b/solenv/inc/minor.mk @@ -1,6 +1,6 @@ RSCVERSION=400 -RSCREVISION=400m1(Build:318) -BUILD=318 +RSCREVISION=400m1(Build:319) +BUILD=319 LAST_MINOR=m0 SOURCEVERSION=OOO400 commit be82a3576afe9432e26e73c7852c725ca39108c2 Author: Tor Lillqvist <t...@collabora.com> Date: Fri Oct 4 19:36:57 2013 +0200 fdo#67534: try to avoid file locking in Explorer shell extensions Change-Id: I287395f6c25b1bfb9b9482166ae6f34d9af8f455 diff --git a/shell/source/win32/shlxthandler/ooofilt/stream_helper.cxx b/shell/source/win32/shlxthandler/ooofilt/stream_helper.cxx index 3b77d28..f1fb321 100644 --- a/shell/source/win32/shlxthandler/ooofilt/stream_helper.cxx +++ b/shell/source/win32/shlxthandler/ooofilt/stream_helper.cxx @@ -106,7 +106,8 @@ long BufferStream::sseek (long offset, int origin) FileStream::FileStream(const char *filename) : file(0) { - file = fopen(filename, "rb"); + // fdo#67534: avoid locking to not interfere with soffice opening the file + file = _fsopen(filename, "rb", _SH_DENYNO); } FileStream::~FileStream() commit 175f0db9e33d5d6b3dbc313cd454944a6f7bb5dc Author: Mathieu Parent <mathieu.par...@nantesmetropole.fr> Date: Mon Oct 14 22:23:05 2013 +0100 fdo#56007 - Read more bytes on Zip read (for thumbnails) Change-Id: Ia8c6caa44ed8019a8139beb5a855f0f28805544d diff --git a/shell/source/win32/zipfile/zipfile.cxx b/shell/source/win32/zipfile/zipfile.cxx index cf05a56..270fbe1 100644 --- a/shell/source/win32/zipfile/zipfile.cxx +++ b/shell/source/win32/zipfile/zipfile.cxx @@ -118,18 +118,42 @@ static unsigned char readByte(StreamInterface *stream) static unsigned short readShort(StreamInterface *stream) { - unsigned short p0 = (unsigned short)readByte(stream); - unsigned short p1 = (unsigned short)readByte(stream); - return (unsigned short)(p0|(p1<<8)); + if (!stream || stream->stell() == -1) + throw IOException(-1); + unsigned short tmpBuf; + unsigned long numBytesRead = stream->sread( + reinterpret_cast<unsigned char *>( &tmpBuf ), 2); + if (numBytesRead != 2) + throw IOException(-1); + return tmpBuf; } static unsigned readInt(StreamInterface *stream) { - unsigned p0 = (unsigned)readByte(stream); - unsigned p1 = (unsigned)readByte(stream); - unsigned p2 = (unsigned)readByte(stream); - unsigned p3 = (unsigned)readByte(stream); - return (unsigned)(p0|(p1<<8)|(p2<<16)|(p3<<24)); + if (!stream || stream->stell() == -1) + throw IOException(-1); + unsigned tmpBuf; + unsigned long numBytesRead = stream->sread( + reinterpret_cast<unsigned char *>( &tmpBuf ), 4); + if (numBytesRead != 4) + throw IOException(-1); + return tmpBuf; +} + +static std::string readString(StreamInterface *stream, unsigned long size) +{ + if (!stream || stream->stell() == -1) + throw IOException(-1); + unsigned char *tmp = new unsigned char[size]; + if (!tmp) + throw IOException(-1); + unsigned long numBytesRead = stream->sread(tmp, size); + if (numBytesRead != size) + throw IOException(-1); + + std::string aStr((char *)tmp, size); + delete [] tmp; + return aStr; } static bool readCentralDirectoryEnd(StreamInterface *stream, CentralDirectoryEnd &end) @@ -147,9 +171,7 @@ static bool readCentralDirectoryEnd(StreamInterface *stream, CentralDirectoryEnd end.cdir_size = readInt(stream); end.cdir_offset = readInt(stream); end.comment_size = readShort(stream); - end.comment.clear(); - for (unsigned short i = 0; i < end.comment_size; i++) - end.comment.append(1,(char)readByte(stream)); + end.comment.assign(readString(stream, end.comment_size)); } catch (...) { @@ -183,15 +205,9 @@ static bool readCentralDirectoryEntry(StreamInterface *stream, CentralDirectoryE entry.external_attr = readInt(stream); entry.offset = readInt(stream); unsigned short i = 0; - entry.filename.clear(); - for (i=0; i < entry.filename_size; i++) - entry.filename.append(1,(char)readByte(stream)); - entry.extra_field.clear(); - for (i=0; i < entry.extra_field_size; i++) - entry.extra_field.append(1,(char)readByte(stream)); - entry.file_comment.clear(); - for (i=0; i < entry.file_comment_size; i++) - entry.file_comment.append(1,(char)readByte(stream)); + entry.filename.assign(readString(stream, entry.filename_size)); + entry.extra_field.assign(readString(stream, entry.extra_field_size)); + entry.file_comment.assign(readString(stream, entry.file_comment_size)); } catch (...) { @@ -219,12 +235,8 @@ static bool readLocalFileHeader(StreamInterface *stream, LocalFileHeader &header header.filename_size = readShort(stream); header.extra_field_size = readShort(stream); unsigned short i = 0; - header.filename.clear(); - for (i=0; i < header.filename_size; i++) - header.filename.append(1,(char)readByte(stream)); - header.extra_field.clear(); - for (i=0; i < header.extra_field_size; i++) - header.extra_field.append(1,(char)readByte(stream)); + header.filename.assign(readString(stream, header.filename_size)); + header.extra_field.assign(readString(stream, header.extra_field_size)); } catch (...) { commit a79e64976fa7752d4ab7326d86f88eb4c98f2f7a Author: Michael Meeks <michael.me...@collabora.com> Date: Fri Oct 11 17:43:19 2013 +0100 fdo#56007 - fast zip directory find to accelerate Windows Explorer thumbnail. Change-Id: Id9436def56f40d2bb54dea35bea916bd99964653 diff --git a/shell/source/win32/zipfile/zipfile.cxx b/shell/source/win32/zipfile/zipfile.cxx index fb7dc88..cf05a56 100644 --- a/shell/source/win32/zipfile/zipfile.cxx +++ b/shell/source/win32/zipfile/zipfile.cxx @@ -102,6 +102,9 @@ struct CentralDirectoryEnd #define LOC_FILE_HEADER_SIG 0x04034b50 #define CDIR_END_SIG 0x06054b50 +// This little lot performs in a truly appalling way without +// buffering eg. on an IStream. + static unsigned char readByte(StreamInterface *stream) { if (!stream || stream->stell() == -1) @@ -250,31 +253,57 @@ static bool areHeadersConsistent(const LocalFileHeader &header, const CentralDir return true; } +#define BLOCK_SIZE 0x800 + +static bool findSignatureAtOffset(StreamInterface *stream, unsigned long nOffset) +{ + // read in reasonably sized chunk, and read more, to get overlapping sigs + unsigned char aBuffer[ BLOCK_SIZE + 4 ]; + + stream->sseek(nOffset, SEEK_SET); + + unsigned long nBytesRead = stream->sread(aBuffer, sizeof(aBuffer)); + if (nBytesRead < 0) + return false; + + for (long n = nBytesRead - 4; n >= 0; n--) + { + if (aBuffer[n ] == 0x50 && aBuffer[n+1] == 0x4b && + aBuffer[n+2] == 0x05 && aBuffer[n+3] == 0x06) + { // a palpable hit ... + stream->sseek(nOffset + n, SEEK_SET); + return true; + } + } + + return false; +} + static bool findCentralDirectoryEnd(StreamInterface *stream) { if (!stream) return false; - stream->sseek(0, SEEK_SET); - if (stream->sseek(-1024, SEEK_END)) stream->sseek(0, SEEK_SET); + + stream->sseek(0,SEEK_END); + + long nLength = stream->stell(); + if (nLength == -1) + return false; + try { - while (stream->stell() != -1) + for (long nOffset = nLength - BLOCK_SIZE; + nOffset > 0; nOffset -= BLOCK_SIZE) { - unsigned signature = readInt(stream); - if (signature == CDIR_END_SIG) - { - stream->sseek(-4, SEEK_CUR); + if (findSignatureAtOffset(stream, nOffset)) return true; - } - else - stream->sseek(-3, SEEK_CUR); } + return findSignatureAtOffset(stream, 0); } catch (...) { return false; } - return false; } static bool isZipStream(StreamInterface *stream) commit 40b3f1b474f374c37ee32022fceab7dc112cba77 Author: Andras Timar <andras.ti...@collabora.com> Date: Wed Oct 9 12:57:33 2013 -0700 Bump for 4.0-18 Change-Id: If2af95548d57a95995988228752503f770ada4d5 diff --git a/instsetoo_native/util/openoffice.lst b/instsetoo_native/util/openoffice.lst index 2d5fd24..3fc6bd6 100644 --- a/instsetoo_native/util/openoffice.lst +++ b/instsetoo_native/util/openoffice.lst @@ -50,7 +50,7 @@ LibreOffice { PRODUCTNAME LibreOffice PRODUCTVERSION 4.0 - PRODUCTEXTENSION -17 + PRODUCTEXTENSION -18 POSTVERSIONEXTENSION POSTVERSIONEXTENSIONUNIX BRANDPACKAGEVERSION 4.0 @@ -100,7 +100,7 @@ LibreOffice_Dev { PRODUCTNAME LOdev PRODUCTVERSION 4.0 - PRODUCTEXTENSION -17 + PRODUCTEXTENSION -18 UNIXBASISROOTNAME lodev4.0 POSTVERSIONEXTENSION POSTVERSIONEXTENSIONUNIX @@ -161,7 +161,7 @@ URE PRODUCTVERSION 4.0 PACKAGEVERSION 4.0 PACKAGEREVISION 1 - PRODUCTEXTENSION -17 + PRODUCTEXTENSION -18 BRANDPACKAGEVERSION 4.0 LICENSENAME LGPL NOVERSIONINDIRNAME 1 @@ -192,7 +192,7 @@ LibreOffice_SDK { PRODUCTNAME LibreOffice PRODUCTVERSION 4.0 - PRODUCTEXTENSION -17 + PRODUCTEXTENSION -18 POSTVERSIONEXTENSION SDK POSTVERSIONEXTENSIONUNIX sdk BRANDPACKAGEVERSION 4.0 @@ -231,7 +231,7 @@ LibreOffice_Dev_SDK { PRODUCTNAME LOdev PRODUCTVERSION 4.0 - PRODUCTEXTENSION -17 + PRODUCTEXTENSION -18 UNIXBASISROOTNAME lodev4.0 POSTVERSIONEXTENSION SDK POSTVERSIONEXTENSIONUNIX sdk @@ -276,7 +276,7 @@ LibreOffice_Test { PRODUCTNAME LibreOffice PRODUCTVERSION 4.0 - PRODUCTEXTENSION -17 + PRODUCTEXTENSION -18 POSTVERSIONEXTENSION TEST POSTVERSIONEXTENSIONUNIX test BRANDPACKAGEVERSION 4.0 @@ -315,7 +315,7 @@ LibreOffice_Dev_Test { PRODUCTNAME LOdev PRODUCTVERSION 4.0 - PRODUCTEXTENSION -17 + PRODUCTEXTENSION -18 UNIXBASISROOTNAME lodev4.0 POSTVERSIONEXTENSION TEST POSTVERSIONEXTENSIONUNIX test @@ -359,7 +359,7 @@ OxygenOffice { PRODUCTNAME OxygenOffice PRODUCTVERSION 4.0 - PRODUCTEXTENSION -17 + PRODUCTEXTENSION -18 POSTVERSIONEXTENSION POSTVERSIONEXTENSIONUNIX BRANDPACKAGEVERSION 4.0 commit 97e318d151fc647aa09f700b0fcb5790437223e5 Author: Andras Timar <andras.ti...@collabora.com> Date: Tue Oct 8 05:40:18 2013 -0700 Bump for 4.0-18 Change-Id: I9d76a7031a28b8dd82f26877dfef2c30e07941ca diff --git a/instsetoo_native/util/openoffice.lst b/instsetoo_native/util/openoffice.lst index a1028ae..2d5fd24 100644 --- a/instsetoo_native/util/openoffice.lst +++ b/instsetoo_native/util/openoffice.lst @@ -33,7 +33,7 @@ Globals CREATE_MSP_INSTALLSET 0 UPDATE_DATABASE_LISTNAME finals_instsetoo.txt PACKAGEMAP package_names.txt,package_names_ext.txt - WINDOWSPATCHLEVEL 17 + WINDOWSPATCHLEVEL 18 OOOVENDOR The Document Foundation OOODOWNLOADNAME 1 BUILDIDCWS {buildidcws} @@ -56,7 +56,7 @@ LibreOffice BRANDPACKAGEVERSION 4.0 USERDIRPRODUCTVERSION 4 ABOUTBOXPRODUCTVERSION 4.0 - ABOUTBOXPRODUCTVERSIONSUFFIX :build-317 + ABOUTBOXPRODUCTVERSIONSUFFIX :build-318 BASEPRODUCTVERSION 4.0 PCPFILENAME libreoffice.pcp UPDATEURL http://update.libreoffice.org/check.php @@ -107,7 +107,7 @@ LibreOffice_Dev BRANDPACKAGEVERSION 4.0 USERDIRPRODUCTVERSION 4 ABOUTBOXPRODUCTVERSION 4.0 - ABOUTBOXPRODUCTVERSIONSUFFIX :build-317 + ABOUTBOXPRODUCTVERSIONSUFFIX :build-318 BASEPRODUCTVERSION 4.0 DEVELOPMENTPRODUCT 1 BASISPACKAGEPREFIX lodevbasis @@ -365,7 +365,7 @@ OxygenOffice BRANDPACKAGEVERSION 4.0 USERDIRPRODUCTVERSION 4 ABOUTBOXPRODUCTVERSION 4.0 - ABOUTBOXPRODUCTVERSIONSUFFIX :build-317 + ABOUTBOXPRODUCTVERSIONSUFFIX :build-318 BASEPRODUCTVERSION 4.0 PCPFILENAME openoffice.pcp UPDATEURL http://update.libreoffice.org/check.php diff --git a/solenv/inc/minor.mk b/solenv/inc/minor.mk index d7bd97a..46df670 100644 --- a/solenv/inc/minor.mk +++ b/solenv/inc/minor.mk @@ -1,6 +1,6 @@ RSCVERSION=400 -RSCREVISION=400m1(Build:317) -BUILD=317 +RSCREVISION=400m1(Build:318) +BUILD=318 LAST_MINOR=m0 SOURCEVERSION=OOO400 commit ca4350df38c49a4e1305ffd1206ce17e1c95b176 Author: Muthu Subramanian <sumu...@collabora.com> Date: Mon Oct 7 19:19:10 2013 +0530 n#819614: Fix for lines running off screens. diff --git a/oox/inc/oox/drawingml/customshapeproperties.hxx b/oox/inc/oox/drawingml/customshapeproperties.hxx index ec41bb1..e389633 100644 --- a/oox/inc/oox/drawingml/customshapeproperties.hxx +++ b/oox/inc/oox/drawingml/customshapeproperties.hxx @@ -130,7 +130,7 @@ public: void pushToPropSet( const ::oox::core::FilterBase& rFilterBase, const ::com::sun::star::uno::Reference < ::com::sun::star::beans::XPropertySet > & xPropSet, - const ::com::sun::star::uno::Reference < ::com::sun::star::drawing::XShape > & xShape); + const ::com::sun::star::uno::Reference < ::com::sun::star::drawing::XShape > & xShape, const ::com::sun::star::awt::Size &aSize ); sal_Int32 getShapePresetType() const { return mnShapePresetType; } ::rtl::OUString getShapePresetTypeName() const; diff --git a/oox/source/drawingml/customshapeproperties.cxx b/oox/source/drawingml/customshapeproperties.cxx index 9811502..598bb3f 100644 --- a/oox/source/drawingml/customshapeproperties.cxx +++ b/oox/source/drawingml/customshapeproperties.cxx @@ -111,7 +111,7 @@ static OUString GetConnectorShapeType( sal_Int32 nType ) void CustomShapeProperties::pushToPropSet( const ::oox::core::FilterBase& /* rFilterBase */, - const Reference < XPropertySet >& xPropSet, const Reference < XShape > & xShape ) + const Reference < XPropertySet >& xPropSet, const Reference < XShape > & xShape, const awt::Size &aSize ) { if ( mnShapePresetType >= 0 ) { @@ -216,8 +216,7 @@ void CustomShapeProperties::pushToPropSet( const ::oox::core::FilterBase& /* rFi aPropertyMap[ PROP_Type ] <<= CREATE_OUSTRING( "ooxml-non-primitive" ); aPropertyMap[ PROP_MirroredX ] <<= Any( mbMirroredX ); aPropertyMap[ PROP_MirroredY ] <<= Any( mbMirroredY ); - awt::Size aSize; - awt::Rectangle aViewBox( 0, 0, aSize.Width * 360, aSize.Height * 360 ); + awt::Rectangle aViewBox( 0, 0, aSize.Width, aSize.Height ); aPropertyMap[ PROP_ViewBox ] <<= aViewBox; Sequence< EnhancedCustomShapeAdjustmentValue > aAdjustmentValues( maAdjustmentGuideList.size() ); diff --git a/oox/source/drawingml/shape.cxx b/oox/source/drawingml/shape.cxx index 2e460d3..5cd059b 100644 --- a/oox/source/drawingml/shape.cxx +++ b/oox/source/drawingml/shape.cxx @@ -580,7 +580,7 @@ Reference< XShape > Shape::createAndInsert( } SAL_INFO("oox", "==cscode== shape name: '" << msName << "'"); - mpCustomShapePropertiesPtr->pushToPropSet( rFilterBase, xSet, mxShape ); + mpCustomShapePropertiesPtr->pushToPropSet( rFilterBase, xSet, mxShape, maSize ); } else if( getTextBody() ) getTextBody()->getTextProperties().pushVertSimulation(); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits