[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - vcl/source

2015-09-14 Thread Miklos Vajna
 vcl/source/outdev/font.cxx |6 ++
 1 file changed, 2 insertions(+), 4 deletions(-)

New commits:
commit ffd7f291ef1daacc5f4d14e13594c94d3a438a1b
Author: Miklos Vajna 
Date:   Fri Sep 4 16:06:46 2015 +0200

tdf#92505 vcl: fix substituting missing glyphs

Commit a6b00d16eb27a5e7e31c721671001a909ecef960 (Related bnc#822625:
Cache FontEntry with the original FontSelectPattern.) and the follow-up
16a62079018aea0e72636bdb00576487b4e830b9 (Oops, this reference can't be
const., 2014-05-28) changed the font cache key, so that it's directly
what was the argument to ImplFontCache::GetFontEntry(), which leads to
missing glyphs in the bugdoc, e.g. the 4 check mark characters are
rendered as a check mark only in the DejaVu Sans case on my machine, the
other 3 cases result in placeholders.

Fix the problem by changing back the key to aFontSelData, which is
possibly modified in ImplFontCache::GetFontEntry() before used as a key.

Change-Id: I80eb4ba0f986a10100b6ae421d1346f235ce83b7
(cherry picked from commit e047caf4bb461fb168d9fe08228c049938ca1698)
Reviewed-on: https://gerrit.libreoffice.org/18561
Reviewed-by: Caolán McNamara 
Tested-by: Caolán McNamara 

diff --git a/vcl/source/outdev/font.cxx b/vcl/source/outdev/font.cxx
index c7faaef..0c07b97 100644
--- a/vcl/source/outdev/font.cxx
+++ b/vcl/source/outdev/font.cxx
@@ -1239,7 +1239,6 @@ ImplFontEntry* ImplFontCache::GetFontEntry( 
PhysicalFontCollection* pFontList,
 ImplFontEntry* ImplFontCache::GetFontEntry( PhysicalFontCollection* pFontList,
 FontSelectPattern& aFontSelData )
 {
-const FontSelectPattern aFontSelDataOrig(aFontSelData);
 // check if a directly matching logical font instance is already cached,
 // the most recently used font usually has a hit rate of >50%
 ImplFontEntry *pEntry = NULL;
@@ -1326,9 +1325,8 @@ ImplFontEntry* ImplFontCache::GetFontEntry( 
PhysicalFontCollection* pFontList,
 }
 #endif
 
-// Add the new entry to the cache with the original FontSelectPattern,
-// so that we can find it next time as a direct cache hit.
-maFontInstanceList[ aFontSelDataOrig ] = pEntry;
+// add the new entry to the cache
+maFontInstanceList[ aFontSelData ] = pEntry;
 }
 
 mpFirstEntry = pEntry;
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - vcl/source

2015-09-04 Thread Stephan Bergmann
 vcl/source/gdi/bitmap3.cxx |   12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

New commits:
commit 47cac2f3f42e127c51a900cb5a98d32f7044c5fe
Author: Stephan Bergmann 
Date:   Thu Sep 3 16:29:31 2015 +0200

Fix mis-merge

...where fb6f2e1109abdd09e80dbcd6660a9530fc06ff0f "Resolves: #i121407# 
Gallery
reorganizations..." first cherry-picked the younger 
8012fae6cedcf325130d70adf0a486e8918f452f
before f7d373d18f965b36f310d44044bdba6476f6eb03 "Added ColorDepth change 
test with assertion to
the Bitmap::Scale method" then cherry-picked the older 
4be8cc079667cca2cae91dba9e46c16ccff1537f,
leading to the two checks at the top of Bitmap::Scale to not return early 
as intended.

Thanks to clang-tidy clang-analyzer-deadcode.DeadStores for flagging this.

Change-Id: Id89cc517a9f7efdff040c70f3b0e640d969cf24d
(cherry picked from commit 0aa9cd69598e1c022aa676f81dc7bc2f03e58b2c)
Reviewed-on: https://gerrit.libreoffice.org/18311
Reviewed-by: Miklos Vajna 
Tested-by: Miklos Vajna 

diff --git a/vcl/source/gdi/bitmap3.cxx b/vcl/source/gdi/bitmap3.cxx
index 6891289..a38f6d5 100644
--- a/vcl/source/gdi/bitmap3.cxx
+++ b/vcl/source/gdi/bitmap3.cxx
@@ -859,22 +859,20 @@ bool Bitmap::ImplConvertGhosted()
 
 bool Bitmap::Scale( const double& rScaleX, const double& rScaleY, sal_uInt32 
nScaleFlag )
 {
-bool bRetval(false);
-
-const sal_uInt16 nStartCount(GetBitCount());
-
 if(basegfx::fTools::equalZero(rScaleX) || 
basegfx::fTools::equalZero(rScaleY))
 {
 // no scale
-bRetval = true;
+return true;
 }
 
 if(basegfx::fTools::equal(rScaleX, 1.0) && basegfx::fTools::equal(rScaleY, 
1.0))
 {
 // no scale
-bRetval = true;
+return true;
 }
 
+const sal_uInt16 nStartCount(GetBitCount());
+
 if( mpImpBmp )
 {
 // implementation specific scaling
@@ -910,6 +908,8 @@ bool Bitmap::Scale( const double& rScaleX, const double& 
rScaleY, sal_uInt32 nSc
 if (nStartCount == 1 && nScaleFlag != BMP_SCALE_NONE)
 nScaleFlag = BMP_SCALE_FAST;
 
+bool bRetval(false);
+
 switch(nScaleFlag)
 {
 case BMP_SCALE_NONE :
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - vcl/source

2015-08-24 Thread Maxim Monastirsky
 vcl/source/gdi/salgdilayout.cxx |   36 ++--
 1 file changed, 30 insertions(+), 6 deletions(-)

New commits:
commit df3b4a1604339eadab2f320eaf0e79ba8f4b6806
Author: Maxim Monastirsky momonas...@gmail.com
Date:   Sun Aug 23 15:09:59 2015 +0300

tdf#89381 Revert vcl: SalGraphics::mirror() - always use 
GetGraphicsWidth()

This reverts commit 28effca640fff262866d1d3ada6e51a3821a6725.

Change-Id: Ie21ae1ef969b2cfdce81a152c195a69ad3c27f65
Reviewed-on: https://gerrit.libreoffice.org/17937
Tested-by: Jenkins c...@libreoffice.org
Reviewed-by: Caolán McNamara caol...@redhat.com
Tested-by: Caolán McNamara caol...@redhat.com
(cherry picked from commit d2c09305084c218facdd282c3232a9929b81e342)
Reviewed-on: https://gerrit.libreoffice.org/17961

diff --git a/vcl/source/gdi/salgdilayout.cxx b/vcl/source/gdi/salgdilayout.cxx
index 88a0abc..6a85e59 100644
--- a/vcl/source/gdi/salgdilayout.cxx
+++ b/vcl/source/gdi/salgdilayout.cxx
@@ -99,7 +99,11 @@ bool SalGraphics::drawTransformedBitmap(
 
 void SalGraphics::mirror( long x, const OutputDevice *pOutDev, bool bBack ) 
const
 {
-long w = GetGraphicsWidth();
+long w;
+if( pOutDev  pOutDev-GetOutDevType() == OUTDEV_VIRDEV )
+w = pOutDev-GetOutputWidthPixel();
+else
+w = GetGraphicsWidth();
 
 if( w )
 {
@@ -131,7 +135,11 @@ void SalGraphics::mirror( long x, const OutputDevice 
*pOutDev, bool bBack ) con
 
 void SalGraphics::mirror( long x, long nWidth, const OutputDevice *pOutDev, 
bool bBack ) const
 {
-long w = GetGraphicsWidth();
+long w;
+if( pOutDev  pOutDev-GetOutDevType() == OUTDEV_VIRDEV )
+w = pOutDev-GetOutputWidthPixel();
+else
+w = GetGraphicsWidth();
 
 if( w )
 {
@@ -164,7 +172,11 @@ void SalGraphics::mirror( long x, long nWidth, const 
OutputDevice *pOutDev, bo
 
 bool SalGraphics::mirror( sal_uInt32 nPoints, const SalPoint *pPtAry, SalPoint 
*pPtAry2, const OutputDevice *pOutDev, bool bBack ) const
 {
-long w = GetGraphicsWidth();
+long w;
+if( pOutDev  pOutDev-GetOutDevType() == OUTDEV_VIRDEV )
+w = pOutDev-GetOutputWidthPixel();
+else
+w = GetGraphicsWidth();
 
 if( w )
 {
@@ -286,7 +298,11 @@ void SalGraphics::mirror( Rectangle rRect, const 
OutputDevice *pOutDev, bool bB
 
 basegfx::B2DPoint SalGraphics::mirror( const basegfx::B2DPoint i_rPoint, 
const OutputDevice *i_pOutDev, bool i_bBack ) const
 {
-long w = GetGraphicsWidth();
+long w;
+if( i_pOutDev  i_pOutDev-GetOutDevType() == OUTDEV_VIRDEV )
+w = i_pOutDev-GetOutputWidthPixel();
+else
+w = GetGraphicsWidth();
 
 DBG_ASSERT( w, missing graphics width );
 
@@ -311,7 +327,11 @@ basegfx::B2DPoint SalGraphics::mirror( const 
basegfx::B2DPoint i_rPoint, const
 
 basegfx::B2DPolygon SalGraphics::mirror( const basegfx::B2DPolygon i_rPoly, 
const OutputDevice *i_pOutDev, bool i_bBack ) const
 {
-long w = GetGraphicsWidth();
+long w;
+if( i_pOutDev  i_pOutDev-GetOutDevType() == OUTDEV_VIRDEV )
+w = i_pOutDev-GetOutputWidthPixel();
+else
+w = GetGraphicsWidth();
 
 DBG_ASSERT( w, missing graphics width );
 
@@ -337,7 +357,11 @@ basegfx::B2DPolygon SalGraphics::mirror( const 
basegfx::B2DPolygon i_rPoly, con
 
 basegfx::B2DPolyPolygon SalGraphics::mirror( const basegfx::B2DPolyPolygon 
i_rPoly, const OutputDevice *i_pOutDev, bool i_bBack ) const
 {
-long w = GetGraphicsWidth();
+long w;
+if( i_pOutDev  i_pOutDev-GetOutDevType() == OUTDEV_VIRDEV )
+w = i_pOutDev-GetOutputWidthPixel();
+else
+w = GetGraphicsWidth();
 
 DBG_ASSERT( w, missing graphics width );
 
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - vcl/source

2015-08-18 Thread Tomaž Vajngerl
 vcl/source/opengl/OpenGLHelper.cxx |6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

New commits:
commit dfac25d2300b56ee4594346a4b5ce8b083a5c782
Author: Tomaž Vajngerl tomaz.vajng...@collabora.co.uk
Date:   Fri Jul 3 14:38:24 2015 +0900

tdf#88831 fix inverted textures when OpenGL is enabled

GLX returns a wrong value if the y coords are inverted. Most other
programs don't even ask for this (gnome-shell for example) and just
assumes true (and this works because most relevant X servers work
like this). We make this more robust and assume true only if the
returned value is GLX_DONT_CARE (-1).

(cherry picked from commit f7f0486376adbabf3ea66bfd8a7b692c335ec3c8)

Change-Id: I4800b3364fd00f5f4a8f5a459472bfa8d97827ba
Reviewed-on: https://gerrit.libreoffice.org/17707
Reviewed-by: Miklos Vajna vmik...@collabora.co.uk
Tested-by: Miklos Vajna vmik...@collabora.co.uk

diff --git a/vcl/source/opengl/OpenGLHelper.cxx 
b/vcl/source/opengl/OpenGLHelper.cxx
index c71380e..6387192 100644
--- a/vcl/source/opengl/OpenGLHelper.cxx
+++ b/vcl/source/opengl/OpenGLHelper.cxx
@@ -507,7 +507,11 @@ GLXFBConfig OpenGLHelper::GetPixmapFBConfig( Display* 
pDisplay, bool bInverted
 }
 
 glXGetFBConfigAttrib( pDisplay, aFbConfigs[i], GLX_Y_INVERTED_EXT, 
nValue );
-bInverted = (nValue == True) ? true : false;
+
+// Looks like that X sends GLX_DONT_CARE but this usually means true 
for most
+// of the X implementations. Investigation on internet pointed that 
this could be
+// safely true all the time (for example gnome-shell always assumes 
true).
+bInverted = nValue == True || nValue == int(GLX_DONT_CARE);
 
 break;
 }
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - vcl/source

2015-07-23 Thread Lionel Elie Mamane
 vcl/source/control/field2.cxx |9 -
 1 file changed, 4 insertions(+), 5 deletions(-)

New commits:
commit fd637152e66d2fe8a0fddf0a840cc65bdf5cf576
Author: Lionel Elie Mamane lio...@mamane.lu
Date:   Tue Jul 21 14:02:59 2015 +0200

avoid 1-past-the-end string access

Change-Id: Ia475ce737c430fab8d019e1b8a762f81897e0847
Reviewed-on: https://gerrit.libreoffice.org/17261
Reviewed-by: Eike Rathke er...@redhat.com
Tested-by: Michael Stahl mst...@redhat.com

diff --git a/vcl/source/control/field2.cxx b/vcl/source/control/field2.cxx
index 326b946..dd4a569 100644
--- a/vcl/source/control/field2.cxx
+++ b/vcl/source/control/field2.cxx
@@ -432,15 +432,14 @@ static sal_Int32 ImplPatternRightPos( const OUString 
rStr, const OString rEdit
 {
 // search non-literal successor
 sal_Int32 nNewPos = nCursorPos;
-sal_Int32 nTempPos = nNewPos;
-while ( nTempPos  rEditMask.getLength() )
+;
+for(sal_Int32 nTempPos = nNewPos+1; nTempPos  rEditMask.getLength(); 
++nTempPos )
 {
-if ( rEditMask[nTempPos+1] != EDITMASK_LITERAL )
+if ( rEditMask[nTempPos] != EDITMASK_LITERAL )
 {
-nNewPos = nTempPos+1;
+nNewPos = nTempPos;
 break;
 }
-nTempPos++;
 }
 ImplPatternMaxPos( rStr, rEditMask, nFormatFlags, bSameMask, nCursorPos, 
nNewPos );
 return nNewPos;
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - vcl/source

2015-07-14 Thread Caolán McNamara
 vcl/source/filter/igif/decode.cxx |9 +++--
 1 file changed, 3 insertions(+), 6 deletions(-)

New commits:
commit e70d45d67bb763373ae05a0729cba03e48a099bf
Author: Caolán McNamara caol...@redhat.com
Date:   Tue Jul 14 12:43:05 2015 +0100

use same limit in ProcessOneCode as AddToTable

Change-Id: Id0345e5d867d18bf7eb341f04086226b7fa79680
(cherry picked from commit 59197f1892777a5629bad210b9ed1071ed550570)
Reviewed-on: https://gerrit.libreoffice.org/17040
Reviewed-by: Michael Stahl mst...@redhat.com
Tested-by: Michael Stahl mst...@redhat.com

diff --git a/vcl/source/filter/igif/decode.cxx 
b/vcl/source/filter/igif/decode.cxx
index 24b25ac..a8e49e6 100644
--- a/vcl/source/filter/igif/decode.cxx
+++ b/vcl/source/filter/igif/decode.cxx
@@ -109,11 +109,9 @@ HPBYTE GIFLZWDecompressor::DecompressBlock( HPBYTE pSrc, 
sal_uInt8 cBufSize,
 
 bool GIFLZWDecompressor::AddToTable( sal_uInt16 nPrevCode, sal_uInt16 
nCodeFirstData )
 {
-GIFLZWTableEntry* pE;
-
 if( nTableSize  4096 )
 {
-pE = pTable + nTableSize;
+GIFLZWTableEntry* pE = pTable + nTableSize;
 pE-pPrev = pTable + nPrevCode;
 pE-pFirst = pE-pPrev-pFirst;
 GIFLZWTableEntry *pEntry = pTable[nCodeFirstData].pFirst;
@@ -130,7 +128,6 @@ bool GIFLZWDecompressor::AddToTable( sal_uInt16 nPrevCode, 
sal_uInt16 nCodeFirst
 
 bool GIFLZWDecompressor::ProcessOneCode()
 {
-GIFLZWTableEntry*   pE;
 sal_uInt16  nCode;
 boolbRet = false;
 boolbEndOfBlock = false;
@@ -193,11 +190,11 @@ bool GIFLZWDecompressor::ProcessOneCode()
 
 nOldCode = nCode;
 
-if (nCode  4096)
+if (nCode = 4096)
 return false;
 
 // write character(/-sequence) of code nCode in the output buffer:
-pE = pTable + nCode;
+GIFLZWTableEntry* pE = pTable + nCode;
 do
 {
 if (pOutBufData == pOutBuf) //can't go back past start
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - vcl/source

2015-07-13 Thread Caolán McNamara
 vcl/source/gdi/jobset.cxx |   29 +
 1 file changed, 17 insertions(+), 12 deletions(-)

New commits:
commit 81d1123ac317d9dad9872a9d2feda8cc6bd32492
Author: Caolán McNamara caol...@redhat.com
Date:   Mon Jan 26 11:26:41 2015 +

coverity#1266485 Untrusted value as argument

Change-Id: I7708ecaf5412535055584ed6c71beaa9cd71c10c
(cherry picked from commit 0934ed1a40c59c169354b177d7dab4228de66171)

min legal size here is  4

(cherry picked from commit 3131205c05a3fde4ef1e3322cc48ca23c443f6d3)

Change-Id: I9f68d000b32623db4d949d13284043630f5689f4
(cherry picked from commit 964000d415bcf491704dad57aee7e0656ea60dab)
Reviewed-on: https://gerrit.libreoffice.org/16983
Reviewed-by: David Tardon dtar...@redhat.com
Tested-by: David Tardon dtar...@redhat.com

diff --git a/vcl/source/gdi/jobset.cxx b/vcl/source/gdi/jobset.cxx
index ec1f44f..c67255e 100644
--- a/vcl/source/gdi/jobset.cxx
+++ b/vcl/source/gdi/jobset.cxx
@@ -218,19 +218,24 @@ SvStream ReadJobSetup( SvStream rIStream, JobSetup 
rJobSetup )
 DBG_ASSERTWARNING( rIStream.GetVersion(), JobSetup:: - Solar-Version 
not set on rOStream );
 
 {
-sal_Size nFirstPos = rIStream.Tell();
-
 sal_uInt16 nLen = 0;
 rIStream.ReadUInt16( nLen );
-if ( !nLen )
+if (nLen = 4)
 return rIStream;
 
 sal_uInt16 nSystem = 0;
 rIStream.ReadUInt16( nSystem );
-
-boost::scoped_arraychar pTempBuf(new char[nLen]);
-rIStream.Read( pTempBuf.get(),  nLen - sizeof( nLen ) - sizeof( 
nSystem ) );
-if ( nLen = sizeof(ImplOldJobSetupData)+4 )
+const size_t nRead = nLen - sizeof(nLen) - sizeof(nSystem);
+if (nRead  rIStream.remainingSize())
+{
+SAL_WARN(vcl, Parsing error:   rIStream.remainingSize() 
+  max possible entries, but   nRead   claimed, 
truncating);
+return rIStream;
+}
+sal_Size nFirstPos = rIStream.Tell();
+boost::scoped_arraychar pTempBuf(new char[nRead]);
+rIStream.Read(pTempBuf.get(),  nRead);
+if (nRead = sizeof(ImplOldJobSetupData))
 {
 ImplOldJobSetupData* pData = (ImplOldJobSetupData*)pTempBuf.get();
 if ( rJobSetup.mpData )
@@ -255,7 +260,7 @@ SvStream ReadJobSetup( SvStream rIStream, JobSetup 
rJobSetup )
  nSystem == JOBSET_FILE605_SYSTEM )
 {
 Impl364JobSetupData* pOldJobData= 
(Impl364JobSetupData*)(pTempBuf.get() + sizeof( ImplOldJobSetupData ));
-sal_uInt16 nOldJobDataSize  = SVBT16ToShort( 
pOldJobData-nSize );
+sal_uInt16 nOldJobDataSize  = SVBT16ToShort( 
pOldJobData-nSize );
 pJobData-mnSystem  = SVBT16ToShort( 
pOldJobData-nSystem );
 pJobData-mnDriverDataLen   = SVBT32ToUInt32( 
pOldJobData-nDriverDataLen );
 pJobData-meOrientation = 
(Orientation)SVBT16ToShort( pOldJobData-nOrientation );
@@ -272,8 +277,8 @@ SvStream ReadJobSetup( SvStream rIStream, JobSetup 
rJobSetup )
 }
 if( nSystem == JOBSET_FILE605_SYSTEM )
 {
-rIStream.Seek( nFirstPos + sizeof( ImplOldJobSetupData ) + 
4 + sizeof( Impl364JobSetupData ) + pJobData-mnDriverDataLen );
-while( rIStream.Tell()  nFirstPos + nLen )
+rIStream.Seek( nFirstPos + sizeof( ImplOldJobSetupData ) + 
sizeof( Impl364JobSetupData ) + pJobData-mnDriverDataLen );
+while( rIStream.Tell()  nFirstPos + nRead )
 {
 OUString aKey = 
read_uInt16_lenPrefixed_uInt8s_ToOUString(rIStream, RTL_TEXTENCODING_UTF8);
 OUString aValue = 
read_uInt16_lenPrefixed_uInt8s_ToOUString(rIStream, RTL_TEXTENCODING_UTF8);
@@ -291,9 +296,9 @@ SvStream ReadJobSetup( SvStream rIStream, JobSetup 
rJobSetup )
 else
 pJobData-maValueMap[ aKey ] = aValue;
 }
-DBG_ASSERT( rIStream.Tell() == nFirstPos+nLen, corrupted 
job setup );
+DBG_ASSERT( rIStream.Tell() == nFirstPos+nRead, corrupted 
job setup );
 // ensure correct stream position
-rIStream.Seek( nFirstPos + nLen );
+rIStream.Seek(nFirstPos + nRead);
 }
 }
 }
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - vcl/source

2015-07-13 Thread Caolán McNamara
 vcl/source/filter/wmf/winwmf.cxx |   21 +
 1 file changed, 13 insertions(+), 8 deletions(-)

New commits:
commit f202ff6ba07a75e0423fa8e5be2e0f41dc7f056d
Author: Caolán McNamara caol...@redhat.com
Date:   Fri Jul 10 11:34:03 2015 +0100

fix potential hang here

Change-Id: Id62cdb90420b9ccf4e98fc1af46c70db6ed60ee0
(cherry picked from commit 7eef63bb2a4d14cb35201f84f38855910f468e20)
Reviewed-on: https://gerrit.libreoffice.org/16923
Reviewed-by: David Tardon dtar...@redhat.com
Tested-by: David Tardon dtar...@redhat.com

diff --git a/vcl/source/filter/wmf/winwmf.cxx b/vcl/source/filter/wmf/winwmf.cxx
index bee19b6..4667844 100644
--- a/vcl/source/filter/wmf/winwmf.cxx
+++ b/vcl/source/filter/wmf/winwmf.cxx
@@ -1713,14 +1713,19 @@ bool WMFReader::GetPlaceableBound( Rectangle 
rPlaceableBound, SvStream* pStm )
 }
 break;
 }
-nPos += nRSize * 2;
- if ( nPos = nEnd )
- pStm-Seek( nPos );
- else
- {
- pStm-SetError( SVSTREAM_FILEFORMAT_ERROR );
- bRet = false;
- }
+
+const sal_uInt32 nAvailableBytes = nEnd - nPos;
+const sal_uInt32 nMaxPossibleRecordSize = nAvailableBytes/2;
+if (nRSize = nMaxPossibleRecordSize)
+{
+nPos += nRSize * 2;
+pStm-Seek( nPos );
+}
+else
+{
+pStm-SetError( SVSTREAM_FILEFORMAT_ERROR );
+bRet = false;
+}
 }
 }
 else
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - vcl/source

2015-07-06 Thread Caolán McNamara
 vcl/source/control/ilstbox.cxx |   10 ++
 1 file changed, 6 insertions(+), 4 deletions(-)

New commits:
commit 3d10947eb35a1bdd9475e1e02739075c4a4ab644
Author: Caolán McNamara caol...@redhat.com
Date:   Thu Jul 2 16:21:26 2015 +0100

Resolves: tdf#92467 crashes with empty history list on pressing down

regression from some 16-32 bit listbox limit changing

Change-Id: I045eeef935afed4154fe11bfd11916c2d6a722e9
(cherry picked from commit c51d5706205cd0282c07d778ffac5f265c3eaf5f)
(cherry picked from commit a8ddd3b0280baa1b770f439fbbca9ff073faa16b)
Reviewed-on: https://gerrit.libreoffice.org/16699
Reviewed-by: Miklos Vajna vmik...@collabora.co.uk
Tested-by: Miklos Vajna vmik...@collabora.co.uk

diff --git a/vcl/source/control/ilstbox.cxx b/vcl/source/control/ilstbox.cxx
index e6e4c59..4fa8c7e 100644
--- a/vcl/source/control/ilstbox.cxx
+++ b/vcl/source/control/ilstbox.cxx
@@ -1619,8 +1619,9 @@ bool ImplListBoxWindow::ProcessKeyInput( const KeyEvent 
rKEvt )
 )
 {
 DBG_ASSERT( !mpEntryList-IsEntryPosSelected( nSelect ) || mbMulti, 
ImplListBox: Selecting same Entry );
-if( nSelect = mpEntryList-GetEntryCount() )
-nSelect = mpEntryList-GetEntryCount()-1;
+sal_Int32 nCount = mpEntryList-GetEntryCount();
+if (nSelect = nCount)
+nSelect = nCount ? nCount-1 : LISTBOX_ENTRY_NOTFOUND;
 bool bCurPosChange = (mnCurrentPos != nSelect);
 mnCurrentPos = nSelect;
 if(SelectEntries( nSelect, eLET, bShift, bCtrl, bCurPosChange))
@@ -1680,8 +1681,9 @@ void ImplListBoxWindow::SelectEntry( 
::vcl::StringEntryIdentifier _entry )
 
 // normalize
 OSL_ENSURE( nSelect  mpEntryList-GetEntryCount(), 
ImplListBoxWindow::SelectEntry: how that? );
-if( nSelect = mpEntryList-GetEntryCount() )
-nSelect = mpEntryList-GetEntryCount()-1;
+sal_Int32 nCount = mpEntryList-GetEntryCount();
+if (nSelect = nCount)
+nSelect = nCount ? nCount-1 : LISTBOX_ENTRY_NOTFOUND;
 
 // make visible
 ShowProminentEntry( nSelect );
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - vcl/source

2015-05-26 Thread Caolán McNamara
 vcl/source/window/floatwin.cxx |4 
 1 file changed, 4 deletions(-)

New commits:
commit 8e3d5f7ed230c07f3f68d4b53edc2c285b04b84d
Author: Caolán McNamara caol...@redhat.com
Date:   Sat May 23 09:21:50 2015 +0100

Resolves: tdf#90155 don't hide+show window before initial show completes

(cherry picked from commit c4bae028efbd32c8938c3a6051d58c1f202d5b8a)

Change-Id: I16f6fb4ef025f2e464ca581fc348e8dd18981285
Reviewed-on: https://gerrit.libreoffice.org/15910
Reviewed-by: Miklos Vajna vmik...@collabora.co.uk
Tested-by: Miklos Vajna vmik...@collabora.co.uk

diff --git a/vcl/source/window/floatwin.cxx b/vcl/source/window/floatwin.cxx
index 6b35c88..bd753bb 100644
--- a/vcl/source/window/floatwin.cxx
+++ b/vcl/source/window/floatwin.cxx
@@ -601,10 +601,6 @@ void FloatingWindow::SetTitleType( sal_uInt16 nTitle )
 
 void FloatingWindow::StartPopupMode( const Rectangle rRect, sal_uLong nFlags )
 {
-// avoid flickering
-if ( IsVisible() )
-Show( false, SHOW_NOFOCUSCHANGE );
-
 if ( IsRollUp() )
 RollDown();
 
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - vcl/source

2015-05-20 Thread Michael Stahl
 vcl/source/gdi/mapmod.cxx |8 
 vcl/source/outdev/map.cxx |1 +
 2 files changed, 9 insertions(+)

New commits:
commit d276993a1b60f66ce4322c29709c0c3907977663
Author: Michael Stahl mst...@redhat.com
Date:   Fri May 15 22:46:18 2015 +0200

tdf#90604: vcl: reduce MapMode precision further to 32 bits...

tdf#91195: vcl: reduce MapMode Fraction precision to avoid...
... overlow in ImplMapLogicToPixel.  50 bits is still too much, 44
appears to work for exporting PNG.

DocumentToGraphicRenderer::renderToGraphic() converts a double to
Fraction which is the source of the excess precision.

(cherry picked from commit c8dad7ebb7c1738ae1348f92d67124c165d83f00)

... which mysteriously causes the Export PNG to produce a non-blank
image again.

The cause is probably that DocumentToGraphicRenderer::renderToGraphic()
records a VCL MetaFile, and the ReadFraction/WriteFraction do only
32 bits, while the Fraction interface promises to handle long.

(regression from 2ce0aededea43231d91a0955fc0676120dcc4f13)

(cherry picked from commit 21be3257d9d10f0f65c2ae49d7ef3beb81018bfc)

vcl: fix the MapMode ctor too to limit precision to 32 bits
(cherry picked from commit 0a9b99787c65e49f08b27566d277eab8306cca54)

Change-Id: Ic4289a3157ea802c17f0bc24db94ea45eabd9728
Reviewed-on: https://gerrit.libreoffice.org/15800
Reviewed-by: Caolán McNamara caol...@redhat.com
Tested-by: Caolán McNamara caol...@redhat.com

diff --git a/vcl/source/gdi/mapmod.cxx b/vcl/source/gdi/mapmod.cxx
index a64f43b..56ea787 100644
--- a/vcl/source/gdi/mapmod.cxx
+++ b/vcl/source/gdi/mapmod.cxx
@@ -33,6 +33,10 @@ struct MapMode::ImplMapMode
 sal_uLong   mnRefCount;
 MapUnit meUnit;
 Point   maOrigin;
+// NOTE: these Fraction must NOT have more than 32 bits precision
+// because ReadFraction / WriteFraction do only 32 bits, so more than
+// that cannot be stored in MetaFiles!
+// = call ReduceInaccurate whenever setting these
 FractionmaScaleX;
 FractionmaScaleY;
 boolmbSimple;
@@ -158,6 +162,8 @@ MapMode::MapMode( MapUnit eUnit, const Point rLogicOrg,
 mpImplMapMode-maOrigin = rLogicOrg;
 mpImplMapMode-maScaleX = rScaleX;
 mpImplMapMode-maScaleY = rScaleY;
+mpImplMapMode-maScaleX.ReduceInaccurate(32);
+mpImplMapMode-maScaleY.ReduceInaccurate(32);
 }
 
 MapMode::~MapMode()
@@ -193,6 +199,7 @@ void MapMode::SetScaleX( const Fraction rScaleX )
 
 ImplMakeUnique();
 mpImplMapMode-maScaleX = rScaleX;
+mpImplMapMode-maScaleX.ReduceInaccurate(32);
 }
 
 void MapMode::SetScaleY( const Fraction rScaleY )
@@ -200,6 +207,7 @@ void MapMode::SetScaleY( const Fraction rScaleY )
 
 ImplMakeUnique();
 mpImplMapMode-maScaleY = rScaleY;
+mpImplMapMode-maScaleY.ReduceInaccurate(32);
 }
 
 MapMode MapMode::operator=( const MapMode rMapMode )
diff --git a/vcl/source/outdev/map.cxx b/vcl/source/outdev/map.cxx
index b8bc6c5..599c814 100644
--- a/vcl/source/outdev/map.cxx
+++ b/vcl/source/outdev/map.cxx
@@ -74,6 +74,7 @@ static Fraction ImplMakeFraction( long nN1, long nN2, long 
nD1, long nD2 )
 aF = Fraction( i*nN1, nD1 ) * Fraction( nN2, nD2 );
 }
 
+aF.ReduceInaccurate(32);
 return aF;
 }
 
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - vcl/source

2015-04-17 Thread Michael Stahl
 vcl/source/outdev/text.cxx |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

New commits:
commit 84b28b7d0b5061377b368c809acdb286902b4069
Author: Michael Stahl mst...@redhat.com
Date:   Thu Apr 16 22:25:23 2015 +0200

tdf#86793: vcl: speed up OutputDevice::GetEllipsisString()

The ridiculous algrorithm used for TEXT_DRAW_CENTERELLIPSIS will go faster
if we cut out most of the text at the beginning instead of one at a time.

(regression from 912ecaf565e68d2ca3fb9584712313e712749f75)

(cherry picked from commit c6ec3e4cee8c7c22380780f2661ac23946cdb050)

Change-Id: I9310dda184715bafe372e3efef9d365e1ad9
Reviewed-on: https://gerrit.libreoffice.org/15355
Tested-by: Miklos Vajna vmik...@collabora.co.uk
Reviewed-by: Miklos Vajna vmik...@collabora.co.uk

diff --git a/vcl/source/outdev/text.cxx b/vcl/source/outdev/text.cxx
index 113a42e..8c066d1 100644
--- a/vcl/source/outdev/text.cxx
+++ b/vcl/source/outdev/text.cxx
@@ -1993,7 +1993,8 @@ OUString OutputDevice::ImplGetEllipsisString( const 
OutputDevice rTargetDevice,
 if( (nStyle  TEXT_DRAW_CENTERELLIPSIS) == TEXT_DRAW_CENTERELLIPSIS )
 {
 OUStringBuffer aTmpStr( aStr );
-sal_Int32 nEraseChars = 4;
+// speed it up by removing all but 1.33x as many as the break pos.
+sal_Int32 nEraseChars = std::maxsal_Int32(4, aStr.getLength() - 
(nIndex*4)/3);
 while( nEraseChars  aStr.getLength()  _rLayout.GetTextWidth( 
aTmpStr.toString(), 0, aTmpStr.getLength() )  nMaxWidth )
 {
 aTmpStr = OUStringBuffer(aStr);
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - vcl/source

2015-04-16 Thread Michael Stahl
 vcl/source/outdev/transparent.cxx |1 +
 1 file changed, 1 insertion(+)

New commits:
commit 9b05c08079cc5c7bc611ce9c9c44eb5de83391cd
Author: Michael Stahl mst...@redhat.com
Date:   Thu Apr 16 15:14:48 2015 +0200

tdf#84294: vcl: fix PDF export of transparent Writer frames in LO 4.3

The transparent frame background is painted opaque because
OutputDevice::DrawTransparent() records a MetaTransparentAction
instead of returning early.

Note that master and 4.4 use drawinglayer to paint backgrounds
so the problem is only visible in 4.3.

(regression from 36b59f2efc2bfb2c9256c39eb5687808deb)

Change-Id: Ide7a076b72123097a9fe099b96d36cda7f7bb082
(cherry picked from commit 581314958f0ddd6c3a0536ce2d7e7e6f0c53a8ec)
Reviewed-on: https://gerrit.libreoffice.org/15342
Reviewed-by: Adolfo Jayme Barrientos fit...@ubuntu.com
Tested-by: Adolfo Jayme Barrientos fit...@ubuntu.com

diff --git a/vcl/source/outdev/transparent.cxx 
b/vcl/source/outdev/transparent.cxx
index d3d7393..be6ed00 100644
--- a/vcl/source/outdev/transparent.cxx
+++ b/vcl/source/outdev/transparent.cxx
@@ -611,6 +611,7 @@ void OutputDevice::DrawTransparent( const 
tools::PolyPolygon rPolyPoly,
 if( !mbFillColor || (nTransparencePercent = 100) )
 {
 DrawInvisiblePolygon( rPolyPoly );
+return; // tdf#84294: do not record it in metafile
 }
 
 // handle metafile recording
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - vcl/source

2015-04-08 Thread Caolán McNamara
 vcl/source/gdi/sallayout.cxx |   13 +++--
 1 file changed, 7 insertions(+), 6 deletions(-)

New commits:
commit 784ff3f0765eb94d025ef789f15ef10f51b8cc15
Author: Caolán McNamara caol...@redhat.com
Date:   Thu Apr 2 16:29:53 2015 +0100

Resolves: tdf#86399 don't clobber cluster start caret pos

with other cluster element bounds

(cherry picked from commit b1030f75d3e47719ca63ec518f1da75196bead1a)

Conflicts:
vcl/source/gdi/sallayout.cxx

Change-Id: I2cc976eb6a0ef42a2678be80637c7220e2247921
Reviewed-on: https://gerrit.libreoffice.org/15119
Reviewed-by: Adolfo Jayme Barrientos fit...@ubuntu.com
Tested-by: Adolfo Jayme Barrientos fit...@ubuntu.com

diff --git a/vcl/source/gdi/sallayout.cxx b/vcl/source/gdi/sallayout.cxx
index c30a99a..87df81f 100644
--- a/vcl/source/gdi/sallayout.cxx
+++ b/vcl/source/gdi/sallayout.cxx
@@ -1250,19 +1250,20 @@ void GenericSalLayout::KashidaJustify( long 
nKashidaIndex, int nKashidaWidth )
 void GenericSalLayout::GetCaretPositions( int nMaxIndex, long* pCaretXArray ) 
const
 {
 // initialize result array
-long nXPos = -1;
-int i;
-for( i = 0; i  nMaxIndex; ++i )
-pCaretXArray[ i ] = nXPos;
+for (int i = 0; i  nMaxIndex; ++i)
+pCaretXArray[i] = -1;
 
 // calculate caret positions using glyph array
 for( GlyphVector::const_iterator pG = m_GlyphItems.begin(), pGEnd = 
m_GlyphItems.end(); pG != pGEnd; ++pG )
 {
-nXPos = pG-maLinearPos.X();
+long nXPos = pG-maLinearPos.X();
 long nXRight = nXPos + pG-mnOrigWidth;
 int n = pG-mnCharPos;
 int nCurrIdx = 2 * (n - mnMinCharPos);
-if( !pG-IsRTLGlyph() )
+// tdf#86399 if this is not the start of a cluster, don't overwrite 
the caret bounds of the cluster start
+if (!pG-IsClusterStart()  pCaretXArray[nCurrIdx] != -1)
+continue;
+if (!pG-IsRTLGlyph())
 {
 // normal positions for LTR case
 pCaretXArray[ nCurrIdx ]   = nXPos;
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - vcl/source

2015-04-03 Thread Julien Nabet
 vcl/source/control/ilstbox.cxx |   22 +-
 1 file changed, 13 insertions(+), 9 deletions(-)

New commits:
commit ae0de4ffdb480745b69d2d6413c656db4112d4a7
Author: Julien Nabet serval2...@yahoo.fr
Date:   Thu Mar 26 22:46:00 2015 +0100

tdf#81813: Typing to select value in dropdown resets after space character

Change-Id: I6972cdad9708a46bb8338590312196e55c4f8778
Reviewed-on: https://gerrit.libreoffice.org/15024
Tested-by: Jenkins c...@libreoffice.org
Reviewed-by: Caolán McNamara caol...@redhat.com
Tested-by: Caolán McNamara caol...@redhat.com
(cherry picked from commit 44c87a5dc921ea6dd28fdc016c61aa62cfd4f4d6)
Reviewed-on: https://gerrit.libreoffice.org/15098

diff --git a/vcl/source/control/ilstbox.cxx b/vcl/source/control/ilstbox.cxx
index 9c66383..29f5462 100644
--- a/vcl/source/control/ilstbox.cxx
+++ b/vcl/source/control/ilstbox.cxx
@@ -1356,6 +1356,7 @@ bool ImplListBoxWindow::ProcessKeyInput( const KeyEvent 
rKEvt )
 bool bCtrl  = aKeyCode.IsMod1() || aKeyCode.IsMod3();
 bool bMod2 = aKeyCode.IsMod2();
 bool bDone = false;
+bool bHandleKey = false;
 
 switch( aKeyCode.GetCode() )
 {
@@ -1571,7 +1572,7 @@ bool ImplListBoxWindow::ProcessKeyInput( const KeyEvent 
rKEvt )
 }
 bDone = true;
 }
-maQuickSelectionEngine.Reset();
+bHandleKey = true;
 }
 break;
 
@@ -1594,18 +1595,21 @@ bool ImplListBoxWindow::ProcessKeyInput( const 
KeyEvent rKEvt )
 maQuickSelectionEngine.Reset();
 
 bDone = true;
-break;
 }
-}
-// fall through intentional
-default:
-{
-if ( !IsReadOnly() )
+else
 {
-bDone = maQuickSelectionEngine.HandleKeyEvent( rKEvt );
+bHandleKey = true;
 }
-  }
+}
 break;
+
+default:
+bHandleKey = true;
+break;
+}
+if (bHandleKey  !IsReadOnly())
+{
+bDone = maQuickSelectionEngine.HandleKeyEvent( rKEvt );
 }
 
 if  (   ( nSelect != LISTBOX_ENTRY_NOTFOUND )
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - vcl/source

2015-03-18 Thread Pierre-Eric Pelloux-Prayer
 vcl/source/outdev/text.cxx |3 +++
 1 file changed, 3 insertions(+)

New commits:
commit c9d2a2b7dfb33ea55477f3991915106ff8cae998
Author: Pierre-Eric Pelloux-Prayer pell...@gmail.com
Date:   Thu Mar 12 22:37:54 2015 +0100

vcl/text: fix duplicate text in fontwork tdf#81876

Regression introduced by commit 2ba05b4800d6cc322276a6911792363f8eb32051
because space character will take the error code path. The error propagates
up to GetTextOutlines which then uses the fallback method.
In this case, we now reset any work done before, to avoid having duplicate
outlines.

Change-Id: Ie15524ac462d4b4bb3c482e49c4fe96a2f2d2c71
Reviewed-on: https://gerrit.libreoffice.org/14850
Tested-by: Jenkins c...@libreoffice.org
Reviewed-by: Caolán McNamara caol...@redhat.com
Tested-by: Caolán McNamara caol...@redhat.com
(cherry picked from commit 162f11cdb94b415ff9d58674e94fb01a745a69eb)
Reviewed-on: https://gerrit.libreoffice.org/14899
Reviewed-by: Adolfo Jayme Barrientos fit...@ubuntu.com
Tested-by: Adolfo Jayme Barrientos fit...@ubuntu.com

diff --git a/vcl/source/outdev/text.cxx b/vcl/source/outdev/text.cxx
index 99ab250..113a42e 100644
--- a/vcl/source/outdev/text.cxx
+++ b/vcl/source/outdev/text.cxx
@@ -2672,6 +2672,9 @@ bool OutputDevice::GetTextOutlines( 
::basegfx::B2DPolyPolygonVector rVector,
 if( bRet || (OUTDEV_PRINTER == meOutDevType) || !mpFontEntry )
 return bRet;
 
+// reset work done (tdf#81876)
+rVector.clear();
+
 // fall back to bitmap conversion
 // Here, we can savely assume that the mapping between characters and 
glyphs
 // is one-to-one. This is most probably valid for the old bitmap fonts.
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - vcl/source

2015-03-18 Thread László Németh
 vcl/source/glyphs/graphite_layout.cxx |7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

New commits:
commit aa543be363ffecf4d8ba9db4b26f0b6e0312b662
Author: László Németh laszlo.nem...@collabora.com
Date:   Mon Mar 16 00:18:51 2015 +0100

fdo#52540, fdo#88051: fix Graphite layout

The previous fixes were incomplete solutions (see the new test
cases of the bug reports).

Change-Id: I928f09d94edf68d268de9046c16582e6f016d561
Reviewed-on: https://gerrit.libreoffice.org/14880
Reviewed-by: Caolán McNamara caol...@redhat.com
Tested-by: Caolán McNamara caol...@redhat.com

diff --git a/vcl/source/glyphs/graphite_layout.cxx 
b/vcl/source/glyphs/graphite_layout.cxx
index f77ca7a..095f439 100644
--- a/vcl/source/glyphs/graphite_layout.cxx
+++ b/vcl/source/glyphs/graphite_layout.cxx
@@ -590,9 +590,12 @@ gr_segment * GraphiteLayout::CreateSegment(ImplLayoutArgs 
rArgs)
 static com::sun::star::uno::Reference 
com::sun::star::i18n::XCharacterClassification  xCharClass;
 if ( !xCharClass.is() )
 xCharClass = vcl::unohelper::CreateCharacterClassification();
-size_t numchars2 = rArgs.mnEndCharPos - mnSegCharOffset; // fdo#52540, 
fdo#68313, fdo#70666 avoid bad ligature replacement
-if (numchars  numchars2  (rArgs.mpStr[numchars2] == '\t' || 
xCharClass-getType(rArgs.mpStr, numchars2 + 1) == 
::com::sun::star::i18n::UnicodeType::LOWERCASE_LETTER))
+size_t numchars2 = rArgs.mnEndCharPos - mnSegCharOffset; // fdo#52540, 
fdo#68313, fdo#70666 avoid bad ligature replacement, fdo#88051 layout problem
+if (numchars  numchars2  (rArgs.mpStr[mnSegCharOffset + numchars2] 
== '\t' ||
+xCharClass-getType(rArgs.mpStr + mnSegCharOffset, numchars2 + 1) 
== ::com::sun::star::i18n::UnicodeType::LOWERCASE_LETTER))
+{
 numchars = numchars2;
+}
 if (mpFeatures)
 pSegment = gr_make_seg(mpFont, mpFace, 0, mpFeatures-values(), 
gr_utf16,
 rArgs.mpStr + mnSegCharOffset, 
numchars, bRtl);
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - vcl/source

2015-03-09 Thread Ashod Nakashian
 vcl/source/gdi/bitmap3.cxx |   13 +++--
 1 file changed, 7 insertions(+), 6 deletions(-)

New commits:
commit e40f78753e10be6ca867aac593b6f0be166f3b73
Author: Ashod Nakashian ashodnakash...@yahoo.com
Date:   Mon Feb 23 22:33:27 2015 -0500

Resolves: fdo#86493 Fix crash while scaling large bitmaps.

Fast bitmap scaling overflowed the LUT used by the nearest-neighbor 
algorithm.
When a bitmap has 46k pixel on a side and is enlarged, the scaling code
overflows the 32-bit long, resulting in negative indexes, which then 
segfaults.

This isn't as rare as it sounds. At least in web-view in writer the 
border/shadow
bitmap is as long as the document (which is an issue in its own right,)
which can overflow for large documents during scaling and segfault.

Reviewed-on: https://gerrit.libreoffice.org/14597
Reviewed-by: Caolán McNamara caol...@redhat.com
Tested-by: Caolán McNamara caol...@redhat.com
(cherry picked from commit c91bfb9ac7d110c5dca0ea34ec0e1668a985b34c)

Change-Id: I1ccf73d02469f6601a9a7e67b30524cb497cf6bc
Reviewed-on: https://gerrit.libreoffice.org/14809
Reviewed-by: Miklos Vajna vmik...@collabora.co.uk
Tested-by: Miklos Vajna vmik...@collabora.co.uk

diff --git a/vcl/source/gdi/bitmap3.cxx b/vcl/source/gdi/bitmap3.cxx
index a99cd77..6891289 100644
--- a/vcl/source/gdi/bitmap3.cxx
+++ b/vcl/source/gdi/bitmap3.cxx
@@ -1075,18 +1075,19 @@ bool Bitmap::ImplScaleFast( const double rScaleX, 
const double rScaleY )
 const long nScanlineSize = pWriteAcc-GetScanlineSize();
 const long nNewWidth1 = nNewWidth - 1L;
 const long nNewHeight1 = nNewHeight - 1L;
-const long nWidth = pReadAcc-Width();
-const long nHeight = pReadAcc-Height();
-boost::scoped_arraylong pLutX(new long[ nNewWidth ]);
-boost::scoped_arraylong pLutY(new long[ nNewHeight ]);
 
 if( nNewWidth1  nNewHeight1 )
 {
+const double nWidth = pReadAcc-Width();
+const double nHeight = pReadAcc-Height();
+boost::scoped_arraylong pLutX(new long[ nNewWidth ]);
+boost::scoped_arraylong pLutY(new long[ nNewHeight ]);
+
 for( long nX = 0L; nX  nNewWidth; nX++ )
-pLutX[ nX ] = nX * nWidth / nNewWidth;
+pLutX[ nX ] = long(nX * nWidth / nNewWidth);
 
 for( long nY = 0L; nY  nNewHeight; nY++ )
-pLutY[ nY ] = nY * nHeight / nNewHeight;
+pLutY[ nY ] = long(nY * nHeight / nNewHeight);
 
 long nActY = 0L;
 while( nActY  nNewHeight )
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - vcl/source

2015-03-02 Thread Caolán McNamara
 vcl/source/filter/wmf/emfwr.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit bf4150f1c5211c6ceb8221cb020beba2bd796d5d
Author: Caolán McNamara caol...@redhat.com
Date:   Thu Feb 26 13:47:58 2015 +

in BITFIELDS mode (3) there are *3* pal entries not 12

There are 12 *bytes*, which presumably is the thinko there. But this 
nPalCount
gets multiplied by 4 to convert it to bytes later.

This is the source of the bad mask values found after Use the 
cairo-compatible
basebmp surface for headless etc. Arbitrary values ended up being read as 
mask
values.

Change-Id: If5d93f74b1c58d3ecdb5186f93cb0215a556586a
(cherry picked from commit 5e5b90c12862b522a4553337fbf6309bb8278b8c)
Reviewed-on: https://gerrit.libreoffice.org/14659
Tested-by: Michael Stahl mst...@redhat.com
Reviewed-by: Michael Stahl mst...@redhat.com

diff --git a/vcl/source/filter/wmf/emfwr.cxx b/vcl/source/filter/wmf/emfwr.cxx
index d0c3588..99bff37 100644
--- a/vcl/source/filter/wmf/emfwr.cxx
+++ b/vcl/source/filter/wmf/emfwr.cxx
@@ -857,7 +857,7 @@ void EMFWriter::ImplWriteBmpRecord( const Bitmap rBmp, 
const Point rPt,
 aMemStm.ReadUInt32( nColsUsed );
 
 nPalCount = ( nBitCount = 8 ) ? ( nColsUsed ? nColsUsed : ( 1  
(sal_uInt32) nBitCount ) ) :
- ( ( 3 == nCompression ) ? 12 : 0 );
+ ( ( 3 == nCompression ) ? 3 : 0 );
 
 m_rStm.Write( aMemStm.GetData(), nDIBSize );
 
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - vcl/source

2015-02-12 Thread Caolán McNamara
 vcl/source/window/menu.cxx |   72 ++---
 1 file changed, 48 insertions(+), 24 deletions(-)

New commits:
commit b72573c15f123633a691bc76098405f24b17ecc2
Author: Caolán McNamara caol...@redhat.com
Date:   Thu Feb 12 17:35:17 2015 +

Resolves: tdf#87663 update checker tries to add icon to toc preview toolbar

i.e. CRASH when attempting to add ToC to document if the updatechecker fires
while this dialog is activating/active because the preview has hidden 
menubars
which have no associated window

Change-Id: I45a254dba647910d7743f6d8173c2547dd82c791
(cherry picked from commit c6b40488c07149a2fcc8023dce4e9efb9e2fdf89)
Reviewed-on: https://gerrit.libreoffice.org/14445
Reviewed-by: Eike Rathke er...@redhat.com
Reviewed-by: Caolán McNamara caol...@redhat.com
Tested-by: Caolán McNamara caol...@redhat.com

diff --git a/vcl/source/window/menu.cxx b/vcl/source/window/menu.cxx
index 546725a..8a6fa57 100644
--- a/vcl/source/window/menu.cxx
+++ b/vcl/source/window/menu.cxx
@@ -2381,13 +2381,13 @@ void Menu::HighlightItem( sal_uInt16 nItemPos )
 }
 
 // - MenuBar -
-
 IMenuBarWindow* MenuBar::getMenuBarWindow()
 {
 // so far just a dynamic_cast, hopefully to be turned into something saner
 // at some stage
 IMenuBarWindow *pWin = dynamic_castIMenuBarWindow*(pWindow);
-assert(pWin);
+//either there is no window (fdo#87663) or it is an IMenuBarWindow
+assert(!pWindow || pWin);
 return pWin;
 }
 
@@ -2419,15 +2419,19 @@ MenuBar::~MenuBar()
 
 void MenuBar::ClosePopup(Menu *pMenu)
 {
-getMenuBarWindow()-PopupClosed(pMenu);
+IMenuBarWindow* pMenuWin = getMenuBarWindow();
+if (!pMenuWin)
+return;
+pMenuWin-PopupClosed(pMenu);
 }
 
 sal_uLong MenuBar::DeactivateMenuBar(sal_uLong nFocusId)
 {
-nFocusId = getMenuBarWindow()-GetFocusId();
+IMenuBarWindow* pMenuWin = getMenuBarWindow();
+nFocusId = pMenuWin ? pMenuWin-GetFocusId() : 0;
 if (nFocusId)
 {
-getMenuBarWindow()-SetFocusId(0);
+pMenuWin-SetFocusId(0);
 ImplGetSVData()-maWinData.mbNoDeactivate = false;
 }
 
@@ -2453,7 +2457,9 @@ void MenuBar::ShowButtons( bool bClose, bool bFloat, bool 
bHide )
 mbCloseBtnVisible = bClose;
 mbFloatBtnVisible = bFloat;
 mbHideBtnVisible = bHide;
-getMenuBarWindow()-ShowButtons(bClose, bFloat, bHide);
+IMenuBarWindow* pMenuWin = getMenuBarWindow();
+if (pMenuWin)
+pMenuWin-ShowButtons(bClose, bFloat, bHide);
 }
 }
 
@@ -2462,7 +2468,9 @@ void MenuBar::SetDisplayable( bool bDisplayable )
 if( bDisplayable != mbDisplayable )
 {
 mbDisplayable = bDisplayable;
-getMenuBarWindow()-LayoutChanged();
+IMenuBarWindow* pMenuWin = getMenuBarWindow();
+if (pMenuWin)
+pMenuWin-LayoutChanged();
 }
 }
 
@@ -2495,7 +2503,9 @@ void MenuBar::ImplDestroy( MenuBar* pMenu, bool bDelete )
 vcl::Window *pWindow = pMenu-ImplGetWindow();
 if (pWindow  bDelete)
 {
-pMenu-getMenuBarWindow()-KillActivePopup();
+IMenuBarWindow* pMenuWin = pMenu-getMenuBarWindow();
+if (pMenuWin)
+pMenuWin-KillActivePopup();
 delete pWindow;
 }
 pMenu-pWindow = NULL;
@@ -2512,29 +2522,34 @@ bool MenuBar::ImplHandleKeyEvent( const KeyEvent 
rKEvent, bool bFromMenu )
 
 // check for enabled, if this method is called from another window...
 vcl::Window* pWin = ImplGetWindow();
-if ( pWin  pWin-IsEnabled()  pWin-IsInputEnabled()   ! 
pWin-IsInModalMode() )
-bDone = getMenuBarWindow()-HandleKeyEvent( rKEvent, bFromMenu );
+if (pWin  pWin-IsEnabled()  pWin-IsInputEnabled()   
!pWin-IsInModalMode())
+{
+IMenuBarWindow* pMenuWin = getMenuBarWindow();
+bDone = pMenuWin ? pMenuWin-HandleKeyEvent(rKEvent, bFromMenu) : 
false;
+}
 return bDone;
 }
 
 void MenuBar::SelectItem(sal_uInt16 nId)
 {
-IMenuBarWindow* pMenuWin = getMenuBarWindow();
-
 if (pWindow)
 {
 pWindow-GrabFocus();
 nId = GetItemPos( nId );
 
-// #99705# popup the selected menu
-pMenuWin-SetAutoPopup( true );
-if (ITEMPOS_INVALID != pMenuWin-GetHighlightedItem())
+IMenuBarWindow* pMenuWin = getMenuBarWindow();
+if (pMenuWin)
 {
-pMenuWin-KillActivePopup();
-pMenuWin-ChangeHighlightItem( ITEMPOS_INVALID, false );
+// #99705# popup the selected menu
+pMenuWin-SetAutoPopup( true );
+if (ITEMPOS_INVALID != pMenuWin-GetHighlightedItem())
+{
+pMenuWin-KillActivePopup();
+pMenuWin-ChangeHighlightItem( ITEMPOS_INVALID, false );
+}
+if (nId != ITEMPOS_INVALID)
+pMenuWin-ChangeHighlightItem( nId, false );
 }
-if (nId != ITEMPOS_INVALID)
-pMenuWin-ChangeHighlightItem( nId, 

[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - vcl/source

2015-02-05 Thread Julien Nabet
 vcl/source/window/btndlg.cxx |8 +++-
 1 file changed, 3 insertions(+), 5 deletions(-)

New commits:
commit e9bac857d7e3e783878422618ac03ff42d68fc27
Author: Julien Nabet serval2...@yahoo.fr
Date:   Wed Feb 4 21:58:55 2015 +0100

Resolves tdf#89129: crash when defining a specific relationship

Returns early if comparison matches so you can reduce iterator scope and 
avoid last test for logging.

Cherry-picked from 30f6ec7cfdf63cea265148bbe3a07d8df34e96d5

/usr/include/c++/4.9/debug/safe_iterator.h:168:error: attempt to copy-
construct an iterator from a singular iterator.

Objects involved in the operation:
iterator this @ 0x0x7fff3a30 {
type = 
N11__gnu_debug14_Safe_iteratorIN9__gnu_cxx17__normal_iteratorIPPvNSt9__cxx19986vectorIS3_SaIS3_ENSt7__debug6vectorIS3_S7_
 (mutable iterator);
  state = past-the-end;
  references sequence with type `NSt7__debug6vectorIPvSaIS1_EEE' @ 
0x0x7fff4088
}
iterator other @ 0x0x7fff3a90 {
type = 
N11__gnu_debug14_Safe_iteratorIN9__gnu_cxx17__normal_iteratorIPPvNSt9__cxx19986vectorIS3_SaIS3_ENSt7__debug6vectorIS3_S7_
 (mutable iterator);
  state = singular;
  references sequence with type `NSt7__debug6vectorIPvSaIS1_EEE' @ 
0x0x7fff4088
}

4  0x2aaab193d6e9 in 
boost::void_ptr_iterator__gnu_debug::_Safe_iterator__gnu_cxx::__normal_iteratorvoid**,
 std::__cxx1998::vectorvoid*, std::allocatorvoid*  , 
std::__debug::vectorvoid*, std::allocatorvoid*  , ImplBtnDlgItem::base 
(this=0x7fff3a90)
at 
/home/julien/compile-libreoffice/libreoffice/workdir/UnpackedTarball/boost/boost/ptr_container/detail/void_ptr_iterator.hpp:121
5  0x2aaab193d269 in 
boost::operator==__gnu_debug::_Safe_iterator__gnu_cxx::__normal_iteratorvoid**,
 std::__cxx1998::vectorvoid*, std::allocatorvoid*  , 
std::__debug::vectorvoid*, std::allocatorvoid*  , ImplBtnDlgItem, 
__gnu_debug::_Safe_iterator__gnu_cxx::__normal_iteratorvoid**, 
std::__cxx1998::vectorvoid*, std::allocatorvoid*  , 
std::__debug::vectorvoid*, std::allocatorvoid*  , ImplBtnDlgItem (l=..., 
r=...)
at 
/home/julien/compile-libreoffice/libreoffice/workdir/UnpackedTarball/boost/boost/ptr_container/detail/void_ptr_iterator.hpp:179
6  0x2aaab193c2ca in ButtonDialog::RemoveButton (this=0x7fff3d90, 
nId=1) at 
/home/julien/compile-libreoffice/libreoffice/vcl/source/window/btndlg.cxx:340
7  0x2aaad8ed109b in dbaui::ORelationTableView::lookForUiActivities 
(this=0x317ef30)
at 
/home/julien/compile-libreoffice/libreoffice/dbaccess/source/ui/relationdesign/RelationTableView.cxx:342

Change-Id: Ied45c222c94d2a362075a3b1550b6092aad77c62
Reviewed-on: https://gerrit.libreoffice.org/14325
Reviewed-by: Lionel Elie Mamane lio...@mamane.lu
Tested-by: Lionel Elie Mamane lio...@mamane.lu
Reviewed-on: https://gerrit.libreoffice.org/14348

diff --git a/vcl/source/window/btndlg.cxx b/vcl/source/window/btndlg.cxx
index 3c98801..94862da 100644
--- a/vcl/source/window/btndlg.cxx
+++ b/vcl/source/window/btndlg.cxx
@@ -322,8 +322,7 @@ void ButtonDialog::AddButton( StandardButtonType eType, 
sal_uInt16 nId,
 
 void ButtonDialog::RemoveButton( sal_uInt16 nId )
 {
-btn_iterator it;
-for (it = maItemList.begin(); it != maItemList.end(); ++it)
+for (btn_iterator it = maItemList.begin(); it != maItemList.end(); ++it)
 {
 if (it-mnId == nId)
 {
@@ -333,12 +332,11 @@ void ButtonDialog::RemoveButton( sal_uInt16 nId )
 delete it-mpPushButton;
 
 maItemList.erase(it);
-break;
+return;
 }
 }
 
-if (it == maItemList.end())
-SAL_WARN( vcl.window, ButtonDialog::RemoveButton(): ButtonId 
invalid );
+SAL_WARN( vcl.window, ButtonDialog::RemoveButton(): ButtonId invalid );
 }
 
 void ButtonDialog::Clear()
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - vcl/source

2015-02-03 Thread László Németh
 vcl/source/glyphs/graphite_layout.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit b4d399b8165b6307584860e97c503f3a8a621f06
Author: László Németh laszlo.nem...@collabora.com
Date:   Tue Jan 27 10:15:05 2015 +0100

tdf#88051 fix Graphite layout at Linux Libertine G ligature followed by tab

Change-Id: Iecedb87f6329c1cddcaa4cd939b349924e58d256
Reviewed-on: https://gerrit.libreoffice.org/14200
Reviewed-by: Caolán McNamara caol...@redhat.com
Tested-by: Caolán McNamara caol...@redhat.com

diff --git a/vcl/source/glyphs/graphite_layout.cxx 
b/vcl/source/glyphs/graphite_layout.cxx
index 6f7cbb2..f77ca7a 100644
--- a/vcl/source/glyphs/graphite_layout.cxx
+++ b/vcl/source/glyphs/graphite_layout.cxx
@@ -591,7 +591,7 @@ gr_segment * GraphiteLayout::CreateSegment(ImplLayoutArgs 
rArgs)
 if ( !xCharClass.is() )
 xCharClass = vcl::unohelper::CreateCharacterClassification();
 size_t numchars2 = rArgs.mnEndCharPos - mnSegCharOffset; // fdo#52540, 
fdo#68313, fdo#70666 avoid bad ligature replacement
-if (numchars  numchars2  xCharClass-getType(rArgs.mpStr, numchars2 
+ 1) == ::com::sun::star::i18n::UnicodeType::LOWERCASE_LETTER)
+if (numchars  numchars2  (rArgs.mpStr[numchars2] == '\t' || 
xCharClass-getType(rArgs.mpStr, numchars2 + 1) == 
::com::sun::star::i18n::UnicodeType::LOWERCASE_LETTER))
 numchars = numchars2;
 if (mpFeatures)
 pSegment = gr_make_seg(mpFont, mpFace, 0, mpFeatures-values(), 
gr_utf16,
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - vcl/source

2015-01-27 Thread Caolán McNamara
 vcl/source/gdi/pdfwriter_impl.cxx |   27 ++-
 1 file changed, 18 insertions(+), 9 deletions(-)

New commits:
commit cd4de8452fc31b2b77374658145bdd1b7291733b
Author: Caolán McNamara caol...@redhat.com
Date:   Mon Jan 26 20:35:48 2015 +

Resolves: rhbz#1177022 no width set on space glyph with CM Typewriter fonts

Change-Id: I0dfb044b8a339fa6c473e42f31fc28c200cd03ea
(cherry picked from commit 37dc4bdbf25847c95f1668553dbae3e2dc885816)
Reviewed-on: https://gerrit.libreoffice.org/14204
Tested-by: Michael Stahl mst...@redhat.com
Reviewed-by: Michael Stahl mst...@redhat.com

diff --git a/vcl/source/gdi/pdfwriter_impl.cxx 
b/vcl/source/gdi/pdfwriter_impl.cxx
index 93efd94..4364341 100644
--- a/vcl/source/gdi/pdfwriter_impl.cxx
+++ b/vcl/source/gdi/pdfwriter_impl.cxx
@@ -3103,15 +3103,24 @@ std::map sal_Int32, sal_Int32  
PDFWriterImpl::emitEmbeddedFont( const Physical
 memset( pEncToUnicodeIndex, 0, sizeof(pEncToUnicodeIndex) );
 for( Ucs2SIntMap::const_iterator it = pEncoding-begin(); it != 
pEncoding-end(); ++it )
 {
-if( it-second != -1 )
-{
-sal_Int32 nCode = (sal_Int32)(it-second  0x00ff);
-nEncoding[ nCode ] = static_castsal_uInt8( nCode );
-nEncodedCodes[ nCode ] = it-first;
-pEncToUnicodeIndex[ nCode ] = 
static_castsal_Int32(aUnicodes.size());
-aUnicodes.push_back( it-first );
-pUnicodesPerGlyph[ nCode ] = 1;
-}
+if(it-second == -1)
+continue;
+sal_Int32 nCode = (sal_Int32)(it-second  0x00ff);
+//We're not doing this right here. We have taken a 
unicode-to-font_index map
+//and are trying to generate a font_index-to-unicode mapping from 
it
+//Which assumes that there is a 1-to-1 mapping there, but that 
might not be
+//true.
+//
+//Instead perhaps we could try and get the GetFontCharMap and loop
+//over sal_UCS4 GetCharFromIndex( int nCharIndex ) const from 0 to 
255
+//to build it up
+if (nEncodedCodes[nCode] != 0)
+continue;
+nEncodedCodes[ nCode ] = it-first;
+nEncoding[ nCode ] = static_castsal_uInt8( nCode );
+pEncToUnicodeIndex[ nCode ] = 
static_castsal_Int32(aUnicodes.size());
+aUnicodes.push_back( it-first );
+pUnicodesPerGlyph[ nCode ] = 1;
 }
 }
 
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - vcl/source

2015-01-20 Thread Caolán McNamara
 vcl/source/filter/graphicfilter.cxx |   28 
 1 file changed, 16 insertions(+), 12 deletions(-)

New commits:
commit 872dca364233067379056ba26e0729679b789b37
Author: Caolán McNamara caol...@redhat.com
Date:   Tue Jan 20 13:21:36 2015 +

accidentally ran make with VALGRIND set and walked away...

and found this bug triggered by CppunitTest_filter_eps_test when
I got back

Change-Id: I20943e5bd0fbf8aed923699dd5f1e88fada43e81
(cherry picked from commit 6cf58a33676cebc9f2c1d26163793ba7dce46262)
Reviewed-on: https://gerrit.libreoffice.org/14044
Tested-by: Michael Stahl mst...@redhat.com
Reviewed-by: Michael Stahl mst...@redhat.com

diff --git a/vcl/source/filter/graphicfilter.cxx 
b/vcl/source/filter/graphicfilter.cxx
index b47e674..c04f4c3 100644
--- a/vcl/source/filter/graphicfilter.cxx
+++ b/vcl/source/filter/graphicfilter.cxx
@@ -256,9 +256,8 @@ bool isPCT(SvStream rStream, sal_uLong nStreamPos, 
sal_uLong nStreamLen)
 
 static bool ImpPeekGraphicFormat( SvStream rStream, OUString 
rFormatExtension, bool bTest )
 {
-sal_uInt16  i;
 sal_uInt8   sFirstBytes[ 256 ];
-sal_uLong   nFirstLong,nSecondLong;
+sal_uLong   nFirstLong(0), nSecondLong(0);
 sal_uLong   nStreamPos = rStream.Tell();
 
 rStream.Seek( STREAM_SEEK_TO_END );
@@ -275,28 +274,33 @@ static bool ImpPeekGraphicFormat( SvStream rStream, 
OUString rFormatExtension,
 nStreamLen = rStream.Tell() - nStreamPos;
 rStream.Seek( nStreamPos );
 }
+
 if (!nStreamLen)
 {
 return false; // this prevents at least a STL assertion
 }
 else if (nStreamLen = 256)
-{   // load first 256 bytes into a buffer
-rStream.Read( sFirstBytes, 256 );
+{
+// load first 256 bytes into a buffer
+sal_uLong nRead = rStream.Read(sFirstBytes, 256);
+if (nRead  256)
+nStreamLen = nRead;
 }
 else
 {
-rStream.Read( sFirstBytes, nStreamLen );
-
-for( i = (sal_uInt16) nStreamLen; i  256; i++ )
-sFirstBytes[ i ]=0;
+nStreamLen = rStream.Read(sFirstBytes, nStreamLen);
 }
 
-if( rStream.GetError() )
+
+if (rStream.GetError())
 return false;
 
+for (sal_uLong i = nStreamLen; i  256; ++i)
+sFirstBytes[i] = 0;
+
 // Accommodate the first 8 bytes in nFirstLong, nSecondLong
 // Big-Endian:
-for( i = 0, nFirstLong = 0L, nSecondLong = 0L; i  4; i++ )
+for (int i = 0; i  4; ++i)
 {
 nFirstLong=(nFirstLong8)|(sal_uLong)sFirstBytes[i];
 nSecondLong=(nSecondLong8)|(sal_uLong)sFirstBytes[i+4];
@@ -325,7 +329,7 @@ static bool ImpPeekGraphicFormat( SvStream rStream, 
OUString rFormatExtension,
 sal_uInt8 nMagic;
 bool bOK=true;
 rStream.ReadUInt16( nFieldSize ).ReadUChar( nMagic );
-for (i=0; i3; i++) {
+for (int i=0; i3; i++) {
 if (nFieldSize6) { bOK=false; break; }
 if (nStreamLen  rStream.Tell() + nFieldSize ) { bOK=false; 
break; }
 rStream.SeekRel(nFieldSize-3);
@@ -526,7 +530,7 @@ static bool ImpPeekGraphicFormat( SvStream rStream, 
OUString rFormatExtension,
 }
 
 // ASCII DXF File Format
-i=0;
+int i=0;
 while (i256  sFirstBytes[i]=32)
 ++i;
 
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - vcl/source

2015-01-09 Thread Caolán McNamara
 vcl/source/filter/wmf/enhwmf.cxx |   12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

New commits:
commit c74bbf75700d3a801f75c25b5e9bc851ef2d
Author: Caolán McNamara caol...@redhat.com
Date:   Fri Jan 9 14:55:35 2015 +

asan: stack-buffer-overflow with fdo76216-1.doc

Change-Id: Ica5ebb04ec50c6579f71d1152ae7619dd37b879e
(cherry picked from commit 8f43132c4d68dd2a1af7a4d1088413c2a0064902)
Reviewed-on: https://gerrit.libreoffice.org/13834
Reviewed-by: Markus Mohrhard markus.mohrh...@googlemail.com
Tested-by: Markus Mohrhard markus.mohrh...@googlemail.com

diff --git a/vcl/source/filter/wmf/enhwmf.cxx b/vcl/source/filter/wmf/enhwmf.cxx
index 290437c..d55349f 100644
--- a/vcl/source/filter/wmf/enhwmf.cxx
+++ b/vcl/source/filter/wmf/enhwmf.cxx
@@ -1373,13 +1373,13 @@ bool EnhWMFReader::ReadEnhWMF()
  .ReadUChar( aLogFont.lfQuality )
  .ReadUChar( aLogFont.lfPitchAndFamily );
 
-sal_Unicode lfFaceName[ LF_FACESIZE ];
-
-for ( int i = 0; i  LF_FACESIZE; i++ )
+sal_Unicode lfFaceName[LF_FACESIZE+1];
+lfFaceName[LF_FACESIZE] = 0;
+for (int i = 0; i  LF_FACESIZE; ++i)
 {
-sal_uInt16 nChar;
-pWMF-ReadUInt16( nChar );
-lfFaceName[ i ] = nChar;
+sal_uInt16 nChar(0);
+pWMF-ReadUInt16(nChar);
+lfFaceName[i] = nChar;
 }
 aLogFont.alfFaceName = OUString( lfFaceName );
 
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - vcl/source

2015-01-04 Thread Markus Mohrhard
 vcl/source/filter/ixpm/xpmread.cxx |4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

New commits:
commit cda3b8767fd8f5b43b1043852e9f90fd17a129f4
Author: Markus Mohrhard markus.mohrh...@collabora.co.uk
Date:   Sun Dec 28 20:16:17 2014 +0100

check size before looking into the string

Found by Asan. e.g moz233272-2.xpm

Change-Id: Ic563db41dbd4ce7250492e99f3e48a203cfdcf00
Reviewed-on: https://gerrit.libreoffice.org/13686
Reviewed-by: Caolán McNamara caol...@redhat.com
Tested-by: Caolán McNamara caol...@redhat.com
(cherry picked from commit ba4b5741db25ff3b76a8d10d8f3745dfc1973749)

diff --git a/vcl/source/filter/ixpm/xpmread.cxx 
b/vcl/source/filter/ixpm/xpmread.cxx
index 3b4b562..81c13f2 100644
--- a/vcl/source/filter/ixpm/xpmread.cxx
+++ b/vcl/source/filter/ixpm/xpmread.cxx
@@ -22,6 +22,7 @@
 #include rgbtable.hxx
 #define _XPMPRIVATE
 #include xpmread.hxx
+#include cstring
 
 XPMReader::XPMReader(SvStream rStm)
 : mrIStm(rStm)
@@ -342,7 +343,8 @@ bool XPMReader::ImplGetColSub( sal_uInt8* pDest )
 {
 if ( pRGBTable[ i ].name == NULL )
 break;
-if ( pRGBTable[ i ].name[ mnParaSize ] == 0 )
+if ( std::strlen(pRGBTable[i].name)  mnParaSize 
+pRGBTable[ i ].name[ mnParaSize ] == 0 )
 {
 if ( ImplCompare ( (unsigned char*)pRGBTable[ i ].name,
 mpPara, mnParaSize, XPMCASENONSENSITIVE ) )
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - vcl/source

2014-12-23 Thread Chris Sherlock
 vcl/source/outdev/font.cxx |1 -
 1 file changed, 1 deletion(-)

New commits:
commit a7f76a197900e7ece5d09fed2bf7920a42425e9c
Author: Chris Sherlock chris.sherloc...@gmail.com
Date:   Wed Dec 24 00:31:45 2014 +1100

vcl: fdo#87510 regression in GetFontMetric

Unfortunately when I refactored the code some time ago in commit 
588bb542bebd
I forgot to remove the original assignment to mnExtLeading. This fixes this 
issue.

Change-Id: I9ef514c1a28ec72747fed865a47c41a1193ce1b9
Reviewed-on: https://gerrit.libreoffice.org/13628
Reviewed-by: Matthew Francis mjay.fran...@gmail.com
Tested-by: Matthew Francis mjay.fran...@gmail.com

diff --git a/vcl/source/outdev/font.cxx b/vcl/source/outdev/font.cxx
index 7d142e04..b7d044c 100644
--- a/vcl/source/outdev/font.cxx
+++ b/vcl/source/outdev/font.cxx
@@ -197,7 +197,6 @@ FontMetric OutputDevice::GetFontMetric() const
 aMetric.mpImplMetric-mnDescent = ImplDevicePixelToLogicHeight( 
pMetric-mnDescent+mnEmphasisDescent );
 aMetric.mpImplMetric-mnIntLeading  = ImplDevicePixelToLogicHeight( 
pMetric-mnIntLeading+mnEmphasisAscent );
 aMetric.mpImplMetric-mnExtLeading  = ImplDevicePixelToLogicHeight( 
GetFontExtLeading() );
-aMetric.mpImplMetric-mnExtLeading  = ImplDevicePixelToLogicHeight( 
pMetric-mnExtLeading );
 aMetric.mpImplMetric-mnLineHeight  = ImplDevicePixelToLogicHeight( 
pMetric-mnAscent+pMetric-mnDescent+mnEmphasisAscent+mnEmphasisDescent );
 aMetric.mpImplMetric-mnSlant   = ImplDevicePixelToLogicHeight( 
pMetric-mnSlant );
 
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - vcl/source

2014-12-18 Thread Caolán McNamara
 vcl/source/control/combobox.cxx |7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

New commits:
commit 4e8ae0f8187a9d3fa77d737f5de248cfd9b0ed55
Author: Caolán McNamara caol...@redhat.com
Date:   Thu Dec 18 15:24:05 2014 +

Resolves: rhbz#1175142 nStarts ends up as an invalid -1

Change-Id: Ic67c5562d0e9936cd6a524ecd4f798aaf885a6e8
(cherry picked from commit 1cd9420755dc5d5435bf564a992b727c455a3d73)

diff --git a/vcl/source/control/combobox.cxx b/vcl/source/control/combobox.cxx
index 329e48a..14870a0 100644
--- a/vcl/source/control/combobox.cxx
+++ b/vcl/source/control/combobox.cxx
@@ -292,7 +292,7 @@ void ComboBox::ImplAutocompleteHandler( Edit* pEdit )
 {
 OUStringaFullText = pEdit-GetText();
 OUStringaStartText = aFullText.copy( 0, (sal_Int32)aSel.Max() );
-sal_Int32  nStart = mpImplLB-GetCurrentPos();
+sal_Int32   nStart = mpImplLB-GetCurrentPos();
 
 if ( nStart == LISTBOX_ENTRY_NOTFOUND )
 nStart = 0;
@@ -303,7 +303,10 @@ void ComboBox::ImplAutocompleteHandler( Edit* pEdit )
 else if ( eAction == AUTOCOMPLETE_TABBACKWARD )
 {
 bForward = false;
-nStart = nStart ? nStart - 1 : 
mpImplLB-GetEntryList()-GetEntryCount()-1;
+if (nStart)
+nStart = nStart - 1;
+else if (mpImplLB-GetEntryList()-GetEntryCount())
+nStart = mpImplLB-GetEntryList()-GetEntryCount()-1;
 }
 
 sal_Int32 nPos = LISTBOX_ENTRY_NOTFOUND;
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - vcl/source

2014-12-09 Thread Caolán McNamara
 vcl/source/control/edit.cxx |2 ++
 1 file changed, 2 insertions(+)

New commits:
commit 1c4091eb525ff3a117e29da06bf66fa37928c70b
Author: Caolán McNamara caol...@redhat.com
Date:   Tue Dec 9 10:55:19 2014 +

Resolves: fdo#87132 a11y crash on clicking outside of inline playback window

where the Edit::~Edit has completed, and the inherited Window::~Window is 
running
and way down the stack someone casts it to an Edit and attempts to call 
Edit methods
on it because of its WINDOW_EDIT type.

So lets try setting its type to WINDOW_WINDOW at the end of the Edit dtor

==21149== Invalid free() / delete / delete[] / realloc()
==21149==at 0x4A07991: operator delete(void*) (in 
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==21149==by 0x7592F9C: 
VCLXAccessibleComponent::FillAccessibleStateSet(utl::AccessibleStateSetHelper) 
(vclxaccessiblecomponent.cxx:457)
==21149==by 0x7592384: VCLXAccessibleComponent::getAccessibleStateSet() 
(vclxaccessiblecomponent.cxx:661)
==21149==by 0x51B1640: 
comphelper::OAccessibleContextWrapper::getAccessibleStateSet() 
(accessiblewrapper.cxx:596)
==21149==by 0x152E84D1: 
AtkListener::updateChildList(com::sun::star::accessibility::XAccessibleContext*)
 (atklistener.cxx:125)
==21149==by 0x152E8973: 
AtkListener::handleChildRemoved(com::sun::star::uno::Referencecom::sun::star::accessibility::XAccessibleContext
 const, 
com::sun::star::uno::Referencecom::sun::star::accessibility::XAccessible 
const) (atklistener.cxx:199)
==21149==by 0x152E8C2D: 
AtkListener::notifyEvent(com::sun::star::accessibility::AccessibleEventObject 
const) (atklistener.cxx:292)
==21149==by 0x51AB603: 
comphelper::AccessibleEventNotifier::addEvent(unsigned int, 
com::sun::star::accessibility::AccessibleEventObject const) 
(accessibleeventnotifier.cxx:285)
==21149==by 0x51B451C: 
comphelper::OAccessibleContextWrapperHelper::notifyEvent(com::sun::star::accessibility::AccessibleEventObject
 const) (accessiblewrapper.cxx:492)
==21149==by 0x51AB603: 
comphelper::AccessibleEventNotifier::addEvent(unsigned int, 
com::sun::star::accessibility::AccessibleEventObject const) 
(accessibleeventnotifier.cxx:285)
==21149==by 0x51AA626: 
comphelper::OAccessibleContextHelper::NotifyAccessibleEvent(short, 
com::sun::star::uno::Any const, com::sun::star::uno::Any const) 
(accessiblecontexthelper.cxx:195)
==21149==by 0x7591800: 
VCLXAccessibleComponent::ProcessWindowEvent(VclWindowEvent const) 
(vclxaccessiblecomponent.cxx:208)
==21149==by 0x7592B6D: 
VCLXAccessibleComponent::WindowEventListener(VclSimpleEvent*) 
(vclxaccessiblecomponent.cxx:118)
==21149==by 0x8606A8E: VclEventListeners::Call(VclSimpleEvent*) const 
(link.hxx:123)
==21149==by 0x84133CD: Window::CallEventListeners(unsigned long, void*) 
(window.cxx:4289)
==21149==by 0x8422EA0: Window::~Window() (window.cxx:3413)
==21149==by 0x843ECFE: Edit::~Edit() (edit.cxx:243)
==21149==by 0x20C42894: avmedia::MediaControl::~MediaControl() 
(mediacontrol.cxx:199)

Change-Id: Id231fe34238b3e9d0cacb1933e11fdde23839370
(cherry picked from commit fa517ab03d9e65291a4b0f25a1188ffe454f6f3e)

diff --git a/vcl/source/control/edit.cxx b/vcl/source/control/edit.cxx
index ffe94bf..e5a497c 100644
--- a/vcl/source/control/edit.cxx
+++ b/vcl/source/control/edit.cxx
@@ -267,6 +267,8 @@ Edit::~Edit()
 uno::Reference lang::XEventListener xEL( mxDnDListener, 
uno::UNO_QUERY );
 xEL-disposing( lang::EventObject() );  // #95154# #96585# Empty 
Source means it's the Client
 }
+
+SetType(WINDOW_WINDOW);
 }
 
 void Edit::ImplInitEditData()
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - vcl/source

2014-11-27 Thread Caolán McNamara
 vcl/source/gdi/impfont.cxx |8 
 1 file changed, 8 deletions(-)

New commits:
commit b5795df5608c3dafa7895ab35a70ac172d68b32b
Author: Caolán McNamara caol...@redhat.com
Date:   Thu Nov 27 10:07:22 2014 +

Resolves: fdo#86203 FontCharMap claims to have twice the entries it should

regression from

commit f6d61562d41b8a49449d881da66a3d8fa519487f
Author: Chris Sherlock chris.sherloc...@gmail.com
Date:   Mon Oct 6 18:16:16 2014 +1100
vcl: Make ImplFontCharMap a pImpl and move functions to FontCharMap

which added this hunk to FontCharMap::FontCharMap without
removing the existing loop in ImplFontCharMap::ImplFontCharMap
which did exactly the same thing. So doubling the true mnCharCount.

Lets just leave the initialization of mnCharCount in the ctor of the thing 
that
contains mnCharCount

Change-Id: I389cbd32217b48ed1faf8e2fa51c8f502c09dbf6
(cherry picked from commit c56d96fc39de897b5e8213eb5e5af295759dccbf)

diff --git a/vcl/source/gdi/impfont.cxx b/vcl/source/gdi/impfont.cxx
index d36005a..28fc72d 100644
--- a/vcl/source/gdi/impfont.cxx
+++ b/vcl/source/gdi/impfont.cxx
@@ -397,14 +397,6 @@ FontCharMap::FontCharMap( const CmapResult rCR )
 {
 ImplFontCharMapPtr pImplFontCharMap( new ImplFontCharMap(rCR) );
 mpImplFontCharMap = pImplFontCharMap;
-
-const sal_UCS4* pRangePtr = mpImplFontCharMap-mpRangeCodes;
-for( int i = mpImplFontCharMap-mnRangeCount; --i = 0; pRangePtr += 2 )
-{
-sal_UCS4 cFirst = pRangePtr[0];
-sal_UCS4 cLast  = pRangePtr[1];
-mpImplFontCharMap-mnCharCount += cLast - cFirst;
-}
 }
 
 FontCharMap::~FontCharMap()
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - vcl/source

2014-11-26 Thread Julien Nabet
 vcl/source/outdev/textline.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit e22ad3682a07ae45fcd53a0f9e29a8166eb2d48a
Author: Julien Nabet serval2...@yahoo.fr
Date:   Tue Nov 25 23:02:48 2014 +0100

Resolves fdo#86689: Strikethrough: With / and With X

static keyword explains why first time the option is well taken into 
account and not the other times.
So let's remove this and the option will be taken into account all the 
times.

Cherry-picked from f46a5d6dfddf86be0d77e00cf44f26af54a97c75

Change-Id: I9db84373e425dfe21c307b965b1796c781cd7863
Reviewed-on: https://gerrit.libreoffice.org/13125
Reviewed-by: Caolán McNamara caol...@redhat.com
Tested-by: Caolán McNamara caol...@redhat.com

diff --git a/vcl/source/outdev/textline.cxx b/vcl/source/outdev/textline.cxx
index a5887c8..da1d155 100644
--- a/vcl/source/outdev/textline.cxx
+++ b/vcl/source/outdev/textline.cxx
@@ -591,7 +591,7 @@ void OutputDevice::ImplDrawStrikeoutChar( long nBaseX, long 
nBaseY,
 return;
 
 // prepare string for strikeout measurement
-static char cStrikeoutChar =  eStrikeout == STRIKEOUT_SLASH ? '/' : 'X';
+char cStrikeoutChar =  eStrikeout == STRIKEOUT_SLASH ? '/' : 'X';
 static const int nTestStrLen = 4;
 static const int nMaxStrikeStrLen = 2048;
 sal_Unicode aChars[nMaxStrikeStrLen+1]; // +1 for valgrind...
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - vcl/source

2014-11-25 Thread Caolán McNamara
 vcl/source/window/dialog.cxx |   19 +--
 1 file changed, 13 insertions(+), 6 deletions(-)

New commits:
commit 384e8a216339c7019d4bf913a37e1517a46a11d9
Author: Caolán McNamara caol...@redhat.com
Date:   Tue Nov 25 16:26:51 2014 +

the real bug behind so many apparent crashtest discoveries

the tests are done headless with dbgutil enabled and
this dialog contents dumped in dbgutil mode tries to
spit out the contents of the various file format
not known, file busted dialogs with some bad casts
and falls over and dies

Change-Id: I353619f0209902d4c099b42064fd48c3c547f846
(cherry picked from commit 67fe0b50ede437601e8f5ed90514d729486c6b83)

diff --git a/vcl/source/window/dialog.cxx b/vcl/source/window/dialog.cxx
index 99ceec2..917af60 100644
--- a/vcl/source/window/dialog.cxx
+++ b/vcl/source/window/dialog.cxx
@@ -57,15 +57,22 @@ static OString ImplGetDialogText( Dialog* pDialog )
 {
 OStringBuffer aErrorStr(OUStringToOString(
 pDialog-GetText(), RTL_TEXTENCODING_UTF8));
-if ( (pDialog-GetType() == WINDOW_MESSBOX) ||
- (pDialog-GetType() == WINDOW_INFOBOX) ||
- (pDialog-GetType() == WINDOW_WARNINGBOX) ||
- (pDialog-GetType() == WINDOW_ERRORBOX) ||
- (pDialog-GetType() == WINDOW_QUERYBOX) )
+
+OUString sMessage;
+if (MessBox* pMessBox = dynamic_castMessBox*(pDialog))
+{
+sMessage = pMessBox-GetMessText();
+}
+else if (MessageDialog* pMessDialog = 
dynamic_castMessageDialog*(pDialog))
+{
+sMessage = pMessDialog-get_primary_text();
+}
+
+if (!sMessage.isEmpty())
 {
 aErrorStr.append(, );
 aErrorStr.append(OUStringToOString(
-static_castMessBox*(pDialog)-GetMessText(), 
RTL_TEXTENCODING_UTF8));
+sMessage, RTL_TEXTENCODING_UTF8));
 }
 return aErrorStr.makeStringAndClear();
 }
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - vcl/source

2014-11-25 Thread Caolán McNamara
 vcl/source/gdi/pdfwriter_impl.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit a1723fa94eba483c1df64cfdab9fb216347157e5
Author: Caolán McNamara caol...@redhat.com
Date:   Tue Nov 25 15:56:29 2014 +

Revert Resolves: #i63015# always default to WinAnsiEncoding...

Because under Linux use text
'
and font Nimbus Sans L
and export as pdf and the output is garbled

If we do want to stick WinAnsiEncoding here then we'll presumably have have 
to
test that pEncoding actually matches WinAnsiEncoding and/or generate an
additional Encoding/Differences from WinAnsiEncoding for that font.

This reverts commit eea16cb3e65a4308caddb7618d31a76ca259dbb1.

(cherry picked from commit 297b22bd49ea11a90063ab8503fb83090f351668)

Change-Id: Ia21c676581af2894229a7a8c7a05b6016ddef8fe
Reviewed-on: https://gerrit.libreoffice.org/13120
Reviewed-by: Caolán McNamara caol...@redhat.com
Tested-by: Caolán McNamara caol...@redhat.com

diff --git a/vcl/source/gdi/pdfwriter_impl.cxx 
b/vcl/source/gdi/pdfwriter_impl.cxx
index ad6d04d..06a7fe0 100644
--- a/vcl/source/gdi/pdfwriter_impl.cxx
+++ b/vcl/source/gdi/pdfwriter_impl.cxx
@@ -3504,7 +3504,7 @@ std::map sal_Int32, sal_Int32  
PDFWriterImpl::emitEmbeddedFont( const Physical
 /Type/Font/Subtype/Type1/BaseFont/ );
 appendName( aInfo.m_aPSName, aLine );
 aLine.append( \n );
-if( !pFont-IsSymbolFont() )
+if( !pFont-IsSymbolFont()   pEncoding == 0 )
 aLine.append( /Encoding/WinAnsiEncoding\n );
 if( nToUnicodeStream )
 {
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits