[Libreoffice-commits] core.git: vcl/headless vcl/source

2022-05-09 Thread Caolán McNamara (via logerrit)
 vcl/headless/CairoCommon.cxx |   14 +++---
 vcl/source/window/cursor.cxx |8 +++-
 2 files changed, 10 insertions(+), 12 deletions(-)

New commits:
commit 6dc41e33e087032a52ee11832ff1299632b4f5dd
Author: Caolán McNamara 
AuthorDate: Mon May 9 17:34:46 2022 +0100
Commit: Caolán McNamara 
CommitDate: Mon May 9 22:30:22 2022 +0200

Related: tdf#148433 experiment with SAL_DISABLE_CURSOR_INDICATOR

to turn off the arrow indicators in BiDi cursor

Change-Id: I5ed96bccf17432e63564bdfc1c7d2ad4fecdd2a3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134090
Tested-by: Caolán McNamara 
Reviewed-by: Caolán McNamara 

diff --git a/vcl/headless/CairoCommon.cxx b/vcl/headless/CairoCommon.cxx
index 2e2dcaecec6f..73a6b72f802e 100644
--- a/vcl/headless/CairoCommon.cxx
+++ b/vcl/headless/CairoCommon.cxx
@@ -960,16 +960,8 @@ cairo_pattern_t* create_stipple()
 }
 } // end anonymous ns
 
-namespace
-{
-// check for env var that deciding to disable CAIRO_OPERATOR_DIFFERENCE
-const char* pDisableDifference(getenv("SAL_DISABLE_CAIRO_DIFFERENCE"));
-bool bDisableDifference(nullptr != pDisableDifference);
-}
-
 #if defined CAIRO_VERSION && CAIRO_VERSION < CAIRO_VERSION_ENCODE(1, 10, 0)
 #define CAIRO_OPERATOR_DIFFERENCE (static_cast(23))
-#define CAIRO_OPERATOR_EXCLUSION (static_cast(24))
 #endif
 
 void CairoCommon::invert(const basegfx::B2DPolygon& rPoly, SalInvert nFlags, 
bool bAntiAlias)
@@ -984,13 +976,13 @@ void CairoCommon::invert(const basegfx::B2DPolygon& 
rPoly, SalInvert nFlags, boo
 
 cairo_set_source_rgb(cr, 1.0, 1.0, 1.0);
 
-if (bDisableDifference)
+if (cairo_version() >= CAIRO_VERSION_ENCODE(1, 10, 0))
 {
-cairo_set_operator(cr, CAIRO_OPERATOR_EXCLUSION);
+cairo_set_operator(cr, CAIRO_OPERATOR_DIFFERENCE);
 }
 else
 {
-cairo_set_operator(cr, CAIRO_OPERATOR_DIFFERENCE);
+SAL_WARN("vcl.gdi", "SvpSalGraphics::invert, archaic cairo");
 }
 
 if (nFlags & SalInvert::TrackFrame)
diff --git a/vcl/source/window/cursor.cxx b/vcl/source/window/cursor.cxx
index 6a186da9432c..406491ed1d65 100644
--- a/vcl/source/window/cursor.cxx
+++ b/vcl/source/window/cursor.cxx
@@ -43,6 +43,12 @@ struct ImplCursorData
 VclPtr mpWindow;   // assigned window
 };
 
+namespace
+{
+const char* pDisableCursorIndicator(getenv("SAL_DISABLE_CURSOR_INDICATOR"));
+bool bDisableCursorIndicator(nullptr != pDisableCursorIndicator);
+}
+
 static tools::Rectangle ImplCursorInvert(vcl::RenderContext* pRenderContext, 
ImplCursorData const * pData)
 {
 tools::Rectangle aPaintRect;
@@ -65,7 +71,7 @@ static tools::Rectangle ImplCursorInvert(vcl::RenderContext* 
pRenderContext, Imp
 aPoly[2].AdjustX(1 );
 
 // apply direction flag after slant to use the correct shape
-if ( pData->mnDirection != CursorDirection::NONE)
+if (!bDisableCursorIndicator && pData->mnDirection != 
CursorDirection::NONE)
 {
 Point pAry[7];
 // Related system settings for "delta" could be:


[Libreoffice-commits] core.git: vcl/headless vcl/source vcl/unx

2020-04-20 Thread Yukio Siraichi (via logerrit)
 vcl/headless/headlessinst.cxx  |   13 
 vcl/source/fontsubset/cff.cxx  |   12 
 vcl/source/fontsubset/fontsubset.cxx   |3 
 vcl/source/fontsubset/sft.cxx  |   37 +
 vcl/source/fontsubset/ttcr.cxx |   17 
 vcl/unx/generic/app/i18n_cb.cxx|   42 +-
 vcl/unx/generic/app/i18n_ic.cxx|6 
 vcl/unx/generic/app/i18n_im.cxx|   43 +-
 vcl/unx/generic/app/i18n_xkb.cxx   |   15 
 vcl/unx/generic/app/randrwrapper.cxx   |   12 
 vcl/unx/generic/app/saldata.cxx|4 
 vcl/unx/generic/app/saldisp.cxx|  185 +
 vcl/unx/generic/app/salinst.cxx|5 
 vcl/unx/generic/app/wmadaptor.cxx  |   39 +-
 vcl/unx/generic/dtrans/X11_clipboard.cxx   |   16 
 vcl/unx/generic/dtrans/X11_selection.cxx   |  486 +++--
 vcl/unx/generic/dtrans/bmp.cxx |   26 -
 vcl/unx/generic/dtrans/config.cxx  |   17 
 vcl/unx/generic/fontmanager/fontconfig.cxx |6 
 vcl/unx/generic/fontmanager/fontmanager.cxx|   15 
 vcl/unx/generic/fontmanager/fontsubst.cxx  |   56 +-
 vcl/unx/generic/gdi/salgdi.cxx |8 
 vcl/unx/generic/print/genprnpsp.cxx|   14 
 vcl/unx/generic/printer/printerinfomanager.cxx |   82 ++--
 vcl/unx/generic/window/salframe.cxx|   38 +
 vcl/unx/generic/window/salobj.cxx  |   14 
 vcl/unx/gtk3/gtk3gtkframe.cxx  |   26 -
 vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx  |   15 
 vcl/unx/gtk3/gtk3salprn-gtk.cxx|4 
 29 files changed, 770 insertions(+), 486 deletions(-)

New commits:
commit 317c05a88f79096422681a23b61aa6ae9f3f084b
Author: Yukio Siraichi 
AuthorDate: Thu Apr 16 12:47:29 2020 +0900
Commit: Stephan Bergmann 
CommitDate: Mon Apr 20 10:24:18 2020 +0200

tdf#130924 [vcl] replace `*printf`s with `SAL_*` logging macros.

Change-Id: Ie3ec1e1767478bce12eecf7bfee02ed2d45fe58c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92331
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann 

diff --git a/vcl/headless/headlessinst.cxx b/vcl/headless/headlessinst.cxx
index c1bf1a7b7294..e1694c429d2b 100644
--- a/vcl/headless/headlessinst.cxx
+++ b/vcl/headless/headlessinst.cxx
@@ -31,9 +31,10 @@ public:
   const std::vector< OUString >& rButtons ) 
override
 {
 (void)rButtons;
-::fprintf(stdout, "LibreOffice - dialog '%s': '%s'",
-OUStringToOString(rTitle, 
RTL_TEXTENCODING_ASCII_US).getStr(),
-OUStringToOString(rMessage, 
RTL_TEXTENCODING_ASCII_US).getStr());
+SAL_INFO("vcl.headless",
+"LibreOffice - dialog '"
+<< rTitle << "': '"
+<< rMessage << "'");
 return 0;
 }
 };
@@ -56,10 +57,10 @@ void SalAbort( const OUString& rErrorText, bool bDumpCore )
 OUString aError( rErrorText );
 if( aError.isEmpty() )
 aError = "Unknown application error";
-::fprintf( stderr, "%s\n", OUStringToOString(rErrorText, 
osl_getThreadTextEncoding()).getStr() );
 
-::fprintf( stderr, "SalAbort: '%s'",
-OUStringToOString(aError, 
RTL_TEXTENCODING_ASCII_US).getStr());
+SAL_WARN("vcl.headless", rErrorText);
+SAL_INFO("vcl.headless", "SalAbort: '" << aError << "'.");
+
 if( bDumpCore )
 abort();
 else
diff --git a/vcl/source/fontsubset/cff.cxx b/vcl/source/fontsubset/cff.cxx
index 98f0101f047f..dd7da8d92ae7 100644
--- a/vcl/source/fontsubset/cff.cxx
+++ b/vcl/source/fontsubset/cff.cxx
@@ -442,7 +442,7 @@ void CffSubsetterContext::readDictOp()
 //TODO: if( nStackIdx > 0)
 int nInt = 0;
 switch( *pCmdName) {
-default: fprintf( stderr, "unsupported DictOp.type=\'%c\'\n", 
*pCmdName); break;
+default: SAL_WARN("vcl.fonts", "unsupported DictOp.type='" << 
*pCmdName << "'."); break;
 case 'b':   // bool
 nInt = popInt();
 switch( nOpId) {
@@ -1051,7 +1051,7 @@ void CffSubsetterContext::convertOneTypeEsc()
 }
 break;
 default:
-fprintf( stderr,"unhandled type2esc %d\n", nType2Esc);
+SAL_WARN("vcl.fonts", "unhandled type2esc " << nType2Esc);
 assert( false);
 break;
 }
@@ -1226,7 +1226,7 @@ int CffSubsetterContext::seekIndexData( int nIndexBase, 
int nDataIndex)
 mpReadPtr += 3 + (nDataOfsSz * nDataIndex);
 int nOfs1 = 0;
 switch( nDataOfsSz) {
-default: fprintf( stderr, "\tINVALID nDataOfsSz=%d\n\n", nDataOfsSz); 
return -1;
+default: SAL_WARN("vcl.fonts", "\tINVALID nDataOfsSz=" << nDataOfsSz); 
return -1;
 case 1: nOfs1 = mpReadPtr[0]; break;
 case 2: nOfs1 = (mpReadPtr[0]<<8) + mpReadPtr[1]; break;
 case 3: nOfs1 = (mpReadPtr[0]<<16) + (mpReadPtr[1]<<8) + 

[Libreoffice-commits] core.git: vcl/headless vcl/source

2018-11-20 Thread Libreoffice Gerrit user
 vcl/headless/svpinst.cxx   |4 +++-
 vcl/source/outdev/text.cxx |4 +++-
 2 files changed, 6 insertions(+), 2 deletions(-)

New commits:
commit 2bf8469cbca01e53043097708909f6cdf2aae264
Author: Thorsten Behrens 
AuthorDate: Tue Nov 20 20:53:50 2018 +0100
Commit: Thorsten Behrens 
CommitDate: Wed Nov 21 01:07:43 2018 +0100

Fix headless build on Linux

Conditional-compile some OpenGL-ness that crept in

Change-Id: I8d12f34db3b4875470a0d81e9ef6a1654153b206
Reviewed-on: https://gerrit.libreoffice.org/63676
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens 

diff --git a/vcl/headless/svpinst.cxx b/vcl/headless/svpinst.cxx
index 5f7176e748d1..330b69ab27dd 100644
--- a/vcl/headless/svpinst.cxx
+++ b/vcl/headless/svpinst.cxx
@@ -28,7 +28,9 @@
 #include 
 
 #include 
-#include 
+#ifndef LIBO_HEADLESS
+# include 
+#endif
 
 #include 
 #include 
diff --git a/vcl/source/outdev/text.cxx b/vcl/source/outdev/text.cxx
index c6dbedddbe5c..2bb81ad8da2d 100644
--- a/vcl/source/outdev/text.cxx
+++ b/vcl/source/outdev/text.cxx
@@ -35,7 +35,9 @@
 #include 
 #include 
 #include 
-#include 
+#ifdef MACOSX
+# include 
+#endif
 
 #include 
 #include 
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: vcl/headless vcl/source

2018-04-11 Thread Caolán McNamara
 vcl/headless/svpgdi.cxx   |   20 
 vcl/source/bitmap/BitmapTools.cxx |9 +++--
 2 files changed, 23 insertions(+), 6 deletions(-)

New commits:
commit 2ca4b505b25e13c9f422c28252f5b7533b8e3270
Author: Caolán McNamara 
Date:   Wed Apr 11 16:14:06 2018 +0100

cairo_surface_create_similar_image is >= cairo 1.12.0

Change-Id: I1805e5680beff6c632016686aa661efe25a8c2f8

diff --git a/vcl/headless/svpgdi.cxx b/vcl/headless/svpgdi.cxx
index cad5f5ea21a5..7543bc69c760 100644
--- a/vcl/headless/svpgdi.cxx
+++ b/vcl/headless/svpgdi.cxx
@@ -1320,7 +1320,13 @@ SalBitmap* SvpSalGraphics::getBitmap( long nX, long nY, 
long nWidth, long nHeigh
 
 Color SvpSalGraphics::getPixel( long nX, long nY )
 {
-cairo_surface_t *target = cairo_surface_create_similar_image(m_pSurface, 
CAIRO_FORMAT_ARGB32, 1, 1);
+#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 12, 0)
+cairo_surface_t *target = cairo_surface_create_similar_image(m_pSurface,
+#else
+cairo_surface_t *target = cairo_image_surface_create(
+#endif
+CAIRO_FORMAT_ARGB32, 1, 1);
+
 cairo_t* cr = cairo_create(target);
 
 cairo_rectangle(cr, 0, 0, 1, 1);
@@ -1484,9 +1490,15 @@ cairo_surface_t* 
SvpSalGraphics::createCairoSurface(const BitmapBuffer *pBuffer)
 
 cairo_t* SvpSalGraphics::createTmpCompatibleCairoContext() const
 {
-cairo_surface_t *target = cairo_surface_create_similar_image(m_pSurface, 
CAIRO_FORMAT_ARGB32,
- m_aFrameSize.getX() * 
m_fScale,
- m_aFrameSize.getY() * 
m_fScale);
+#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 12, 0)
+cairo_surface_t *target = cairo_surface_create_similar_image(m_pSurface,
+#else
+cairo_surface_t *target = cairo_image_surface_create(
+#endif
+CAIRO_FORMAT_ARGB32,
+m_aFrameSize.getX() * m_fScale,
+m_aFrameSize.getY() * m_fScale);
+
 #if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 14, 0)
 cairo_surface_set_device_scale(target, m_fScale, m_fScale);
 #endif
diff --git a/vcl/source/bitmap/BitmapTools.cxx 
b/vcl/source/bitmap/BitmapTools.cxx
index 77583f28e3f9..6d3b0af31015 100644
--- a/vcl/source/bitmap/BitmapTools.cxx
+++ b/vcl/source/bitmap/BitmapTools.cxx
@@ -235,8 +235,13 @@ BitmapEx* CreateFromCairoSurface(Size aSize, 
cairo_surface_t * pSurface)
 {
 // FIXME: if we could teach VCL/ about cairo handles, life could
 // be significantly better here perhaps.
-cairo_surface_t *pPixels = cairo_surface_create_similar_image(pSurface, 
CAIRO_FORMAT_ARGB32,
-  aSize.Width(), aSize.Height());
+
+#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 12, 0)
+cairo_surface_t *pPixels = cairo_surface_create_similar_image(pSurface,
+#else
+cairo_surface_t *pPixels = cairo_image_surface_create(
+#endif
+CAIRO_FORMAT_ARGB32, aSize.Width(), aSize.Height());
 cairo_t *pCairo = cairo_create( pPixels );
 if( !pPixels || !pCairo || cairo_status(pCairo) != CAIRO_STATUS_SUCCESS )
 return nullptr;
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: vcl/headless vcl/source

2018-02-28 Thread Vasily Melenchuk
 vcl/headless/svpgdi.cxx|   25 -
 vcl/source/gdi/pngread.cxx |   10 +-
 2 files changed, 25 insertions(+), 10 deletions(-)

New commits:
commit 25cd843664919974f0d21ca7a0b02cc43e9eeabb
Author: Vasily Melenchuk 
Date:   Tue Feb 27 19:08:35 2018 +0300

tdf#115297: alternative fix for displaying 1bit images

Previous fixes for 1bit monochrome / paletted images produced some
regressions, so here is attempt to fix problem at the root.

Partially reverted 66dbd4da3afcadb1393daf9be9cecff71b86509a and
fixed in a different way without tdf#115297, tdf#114726 and related.

Change-Id: I6849ed5ac41770ba905c930065c80e58509dba2e
Reviewed-on: https://gerrit.libreoffice.org/50454
Reviewed-by: Thorsten Behrens 
Tested-by: Thorsten Behrens 

diff --git a/vcl/headless/svpgdi.cxx b/vcl/headless/svpgdi.cxx
index a532ce7c2358..bc89f4b84698 100644
--- a/vcl/headless/svpgdi.cxx
+++ b/vcl/headless/svpgdi.cxx
@@ -1200,10 +1200,33 @@ void SvpSalGraphics::copyBits( const SalTwoRect& rTR,
 cairo_surface_destroy(pCopy);
 }
 
+namespace
+{
+bool isBlackWhite(const SalBitmap& rBitmap)
+{
+const SvpSalBitmap& rSrcBmp = static_cast(rBitmap);
+const BitmapBuffer * pSourceBuffer = rSrcBmp.GetBuffer();
+const BitmapPalette & rPalette = pSourceBuffer->maPalette;
+
+return (
+rPalette.GetEntryCount() < 2 ||
+
+(rPalette.GetEntryCount() == 2 &&
+rPalette[0] == Color(COL_BLACK) &&
+rPalette[1] == Color(COL_WHITE) ) ||
+
+(rPalette.GetEntryCount() == 2 &&
+rPalette[1] == Color(COL_BLACK) &&
+rPalette[0] == Color(COL_WHITE) )
+);
+}
+}
+
 void SvpSalGraphics::drawBitmap(const SalTwoRect& rTR, const SalBitmap& 
rSourceBitmap)
 {
-if (rSourceBitmap.GetBitCount() == 1)
+if (rSourceBitmap.GetBitCount() == 1 && isBlackWhite(rSourceBitmap))
 {
+// This way we draw only monochrome b/w bitmaps
 MaskHelper aMask(rSourceBitmap);
 cairo_surface_t* source = aMask.getMask();
 copySource(rTR, source);
diff --git a/vcl/source/gdi/pngread.cxx b/vcl/source/gdi/pngread.cxx
index 7e6674819925..49844f028cd6 100644
--- a/vcl/source/gdi/pngread.cxx
+++ b/vcl/source/gdi/pngread.cxx
@@ -535,19 +535,11 @@ bool PNGReaderImpl::ImplReadHeader( const Size& 
rPreviewSizeHint )
 {
 switch ( mnPngDepth )
 {
-case 1 :
-#if defined(UNX) && !defined(MACOSX)
-// 1bpp indexed images are so badly mishandled by rest of 
LO on X11 that we
-// don't even bother, and turn them into 8bpp indexed ones 
with just two palette
-// entries instead.
-mnTargetDepth = 8;  // we have to expand the bitmap
-#endif
-mbPalette = false;
-break;
 case 2 :
 mnTargetDepth = 4;  // we have to expand the bitmap
 mbPalette = false;
 break;
+case 1 :
 case 4 :
 case 8 :
 mbPalette = false;
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: vcl/headless vcl/source

2018-01-28 Thread Julien Nabet
 vcl/headless/svpgdi.cxx|4 
 vcl/headless/svpprn.cxx|6 
 vcl/source/app/IconThemeScanner.cxx|4 
 vcl/source/bitmap/bitmapscalesuper.cxx |5 
 vcl/source/control/button.cxx  |   10 -
 vcl/source/control/field.cxx   |   12 -
 vcl/source/control/tabctrl.cxx |  202 ++---
 7 files changed, 108 insertions(+), 135 deletions(-)

New commits:
commit 85538dd33b227cabb29e9dc630691a7edb6c3920
Author: Julien Nabet 
Date:   Sun Jan 28 12:38:27 2018 +0100

Modernize a bit vcl (part1)

by using for-range loops
+ remove useless vars
+ avoid some iterators calculus by using plain loop

Change-Id: I94572bfd56ad9ac76c9899cf68d5ba831009fa7b
Reviewed-on: https://gerrit.libreoffice.org/48777
Tested-by: Jenkins 
Reviewed-by: Julien Nabet 

diff --git a/vcl/headless/svpgdi.cxx b/vcl/headless/svpgdi.cxx
index d2970489980b..2c6dd2486ff5 100644
--- a/vcl/headless/svpgdi.cxx
+++ b/vcl/headless/svpgdi.cxx
@@ -501,9 +501,9 @@ void SvpSalGraphics::clipRegion(cairo_t* cr)
 }
 if (!aRectangles.empty())
 {
-for (RectangleVector::const_iterator aRectIter(aRectangles.begin()); 
aRectIter != aRectangles.end(); ++aRectIter)
+for (auto const& rectangle : aRectangles)
 {
-cairo_rectangle(cr, aRectIter->Left(), aRectIter->Top(), 
aRectIter->GetWidth(), aRectIter->GetHeight());
+cairo_rectangle(cr, rectangle.Left(), rectangle.Top(), 
rectangle.GetWidth(), rectangle.GetHeight());
 }
 cairo_clip(cr);
 }
diff --git a/vcl/headless/svpprn.cxx b/vcl/headless/svpprn.cxx
index 5e0abfb3df75..a0ec78290429 100644
--- a/vcl/headless/svpprn.cxx
+++ b/vcl/headless/svpprn.cxx
@@ -214,12 +214,12 @@ void SvpSalInstance::GetPrinterQueueInfo( 
ImplPrnQueueList* pList )
 ::std::vector< OUString > aPrinters;
 rManager.listPrinters( aPrinters );
 
-for( ::std::vector< OUString >::iterator it = aPrinters.begin(); it != 
aPrinters.end(); ++it )
+for (auto const& printer : aPrinters)
 {
-const PrinterInfo& rInfo( rManager.getPrinterInfo( *it ) );
+const PrinterInfo& rInfo( rManager.getPrinterInfo(printer) );
 // create new entry
 SalPrinterQueueInfo* pInfo = new SalPrinterQueueInfo;
-pInfo->maPrinterName= *it;
+pInfo->maPrinterName= printer;
 pInfo->maDriver = rInfo.m_aDriverName;
 pInfo->maLocation   = rInfo.m_aLocation;
 pInfo->maComment= rInfo.m_aComment;
diff --git a/vcl/source/app/IconThemeScanner.cxx 
b/vcl/source/app/IconThemeScanner.cxx
index 228c4e00f6cf..846eeaa7c942 100644
--- a/vcl/source/app/IconThemeScanner.cxx
+++ b/vcl/source/app/IconThemeScanner.cxx
@@ -92,9 +92,9 @@ void IconThemeScanner::ScanDirectoryForIconThemes(const 
OUString& paths)
 SAL_WARN("vcl.app", "Could not find any icon themes in the 
provided directory ('" <::iterator it;
-for (it = maStrips.begin(); it != maStrips.end(); ++it)
-mpFn( *(it->mrCtx), it->mnStartY, it->mnEndY );
+for (auto const& strip : maStrips)
+mpFn( *(strip.mrCtx), strip.mnStartY, strip.mnEndY );
 }
 };
 
diff --git a/vcl/source/control/button.cxx b/vcl/source/control/button.cxx
index 949cc65d5a9b..249f8be08aec 100644
--- a/vcl/source/control/button.cxx
+++ b/vcl/source/control/button.cxx
@@ -2169,11 +2169,11 @@ void RadioButton::group(RadioButton )
 {
 std::vector< VclPtr > 
aOthers(rOther.GetRadioButtonGroup(false));
 //make all members of the group share the same button group
-for (auto aI = aOthers.begin(), aEnd = aOthers.end(); aI != aEnd; 
++aI)
+for (auto const& elem : aOthers)
 {
-aFind = std::find(m_xGroup->begin(), m_xGroup->end(), *aI);
+aFind = std::find(m_xGroup->begin(), m_xGroup->end(), elem);
 if (aFind == m_xGroup->end())
-m_xGroup->push_back(*aI);
+m_xGroup->push_back(elem);
 }
 }
 
@@ -2238,9 +2238,9 @@ void RadioButton::ImplUncheckAllOther()
 
 

[Libreoffice-commits] core.git: vcl/headless vcl/source vcl/unx

2017-06-01 Thread Caolán McNamara
 vcl/headless/svpbmp.cxx|   18 --
 vcl/source/gdi/salmisc.cxx |   19 ++-
 vcl/unx/generic/gdi/salbmp.cxx |   17 -
 3 files changed, 50 insertions(+), 4 deletions(-)

New commits:
commit 237d45700eef31e23e8d10459335501f87540513
Author: Caolán McNamara 
Date:   Mon May 15 11:17:57 2017 +0100

ofz#1605 check multiply and shift

Change-Id: I6aad9ad23e7bf080b3b610223f92df7074530beb
Reviewed-on: https://gerrit.libreoffice.org/37632
Reviewed-by: Caolán McNamara 
Tested-by: Caolán McNamara 

diff --git a/vcl/headless/svpbmp.cxx b/vcl/headless/svpbmp.cxx
index 3091dfba888c..5be976fc9e74 100644
--- a/vcl/headless/svpbmp.cxx
+++ b/vcl/headless/svpbmp.cxx
@@ -27,7 +27,7 @@
 
 #include 
 #include 
-
+#include 
 #include 
 #include 
 
@@ -112,7 +112,21 @@ BitmapBuffer* ImplCreateDIB(
 pDIB->mnFormat |= ScanlineFormat::TopDown;
 pDIB->mnWidth = rSize.Width();
 pDIB->mnHeight = rSize.Height();
-pDIB->mnScanlineSize = AlignedWidth4Bytes( pDIB->mnWidth * nBitCount );
+long nScanlineBase;
+bool bFail = o3tl::checked_multiply(pDIB->mnWidth, nBitCount, 
nScanlineBase);
+if (bFail)
+{
+SAL_WARN("vcl.gdi", "checked multiply failed");
+delete pDIB;
+return nullptr;
+}
+pDIB->mnScanlineSize = AlignedWidth4Bytes(nScanlineBase);
+if (pDIB->mnScanlineSize < nScanlineBase/8)
+{
+SAL_WARN("vcl.gdi", "scanline calculation wraparound");
+delete pDIB;
+return nullptr;
+}
 pDIB->mnBitCount = nBitCount;
 
 if( nColors )
diff --git a/vcl/source/gdi/salmisc.cxx b/vcl/source/gdi/salmisc.cxx
index ffde759517fa..4f239efb95c6 100644
--- a/vcl/source/gdi/salmisc.cxx
+++ b/vcl/source/gdi/salmisc.cxx
@@ -20,6 +20,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 
@@ -328,7 +329,23 @@ BitmapBuffer* StretchAndConvert(
 pDstBuffer->mnFormat = nDstBitmapFormat;
 pDstBuffer->mnWidth = rTwoRect.mnDestWidth;
 pDstBuffer->mnHeight = rTwoRect.mnDestHeight;
-pDstBuffer->mnScanlineSize = AlignedWidth4Bytes( pDstBuffer->mnBitCount * 
pDstBuffer->mnWidth );
+long nScanlineBase;
+bool bFail = o3tl::checked_multiply(pDstBuffer->mnBitCount, 
pDstBuffer->mnWidth, nScanlineBase);
+if (bFail)
+{
+SAL_WARN("vcl.gdi", "checked multiply failed");
+pDstBuffer->mpBits = nullptr;
+delete pDstBuffer;
+return nullptr;
+}
+pDstBuffer->mnScanlineSize = AlignedWidth4Bytes(nScanlineBase);
+if (pDstBuffer->mnScanlineSize < nScanlineBase/8)
+{
+SAL_WARN("vcl.gdi", "scanline calculation wraparound");
+pDstBuffer->mpBits = nullptr;
+delete pDstBuffer;
+return nullptr;
+}
 try
 {
 pDstBuffer->mpBits = new sal_uInt8[ pDstBuffer->mnScanlineSize * 
pDstBuffer->mnHeight ];
diff --git a/vcl/unx/generic/gdi/salbmp.cxx b/vcl/unx/generic/gdi/salbmp.cxx
index 73fc5a424152..00043d5e783e 100644
--- a/vcl/unx/generic/gdi/salbmp.cxx
+++ b/vcl/unx/generic/gdi/salbmp.cxx
@@ -41,6 +41,7 @@
 #include 
 #include 
 
+#include 
 #include 
 #include 
 
@@ -193,7 +194,21 @@ BitmapBuffer* X11SalBitmap::ImplCreateDIB(
 
 pDIB->mnWidth = rSize.Width();
 pDIB->mnHeight = rSize.Height();
-pDIB->mnScanlineSize = AlignedWidth4Bytes( pDIB->mnWidth * 
nBitCount );
+long nScanlineBase;
+bool bFail = o3tl::checked_multiply(pDIB->mnWidth, 
nBitCount, nScanlineBase);
+if (bFail)
+{
+SAL_WARN("vcl.gdi", "checked multiply failed");
+delete pDIB;
+return nullptr;
+}
+pDIB->mnScanlineSize = AlignedWidth4Bytes(nScanlineBase);
+if (pDIB->mnScanlineSize < nScanlineBase/8)
+{
+SAL_WARN("vcl.gdi", "scanline calculation wraparound");
+delete pDIB;
+return nullptr;
+}
 pDIB->mnBitCount = nBitCount;
 
 if( nColors )
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: vcl/headless vcl/source

2016-07-14 Thread Miklos Vajna
 vcl/headless/svpframe.cxx|9 ++---
 vcl/source/outdev/outdev.cxx |7 ---
 2 files changed, 2 insertions(+), 14 deletions(-)

New commits:
commit ac0b3b05ab52d0ac06137cf93d71187c7957ec99
Author: Miklos Vajna 
Date:   Thu Jul 14 18:37:04 2016 +0200

vcl headless: ignore visibility in GetClientSize()

This fixes the missing-invalidation problem outlined in commit
22023b104cd1e024aecc28a6161bea519a584407 (vcl lok: fix missing paints
due to zero-sized windows, 2016-07-12) also in Writer, not only in
Impress. Starting text edit, doing a change, and ending text edit now
results in the expected invalidations.

Ignoring visibility seems to be a better fix for the missing paints.
This way the headless case doesn't hit the corner cases of 0x0-sized
windows. Also, the gtk vclplug's GetClientSize() only returns 0x0 in
case the underlying window is disposed or it's minimized, but it does
hand out the size before Show() is called, so now the headless backend
is in sync with that.

Change-Id: I78698cbfce954c8c593d279ab057a87cfbe87260
Reviewed-on: https://gerrit.libreoffice.org/27224
Reviewed-by: Miklos Vajna 
Tested-by: Jenkins 

diff --git a/vcl/headless/svpframe.cxx b/vcl/headless/svpframe.cxx
index 7a6add2..7eac6b3 100644
--- a/vcl/headless/svpframe.cxx
+++ b/vcl/headless/svpframe.cxx
@@ -285,13 +285,8 @@ void SvpSalFrame::SetPosSize( long nX, long nY, long 
nWidth, long nHeight, sal_u
 
 void SvpSalFrame::GetClientSize( long& rWidth, long& rHeight )
 {
-if( m_bVisible )
-{
-rWidth = maGeometry.nWidth;
-rHeight = maGeometry.nHeight;
-}
-else
-rWidth = rHeight = 0;
+rWidth = maGeometry.nWidth;
+rHeight = maGeometry.nHeight;
 }
 
 void SvpSalFrame::GetWorkArea( Rectangle& rRect )
diff --git a/vcl/source/outdev/outdev.cxx b/vcl/source/outdev/outdev.cxx
index eccf50d..2ea9988 100644
--- a/vcl/source/outdev/outdev.cxx
+++ b/vcl/source/outdev/outdev.cxx
@@ -66,13 +66,6 @@ OutputDevice::OutputDevice() :
 mnOutOffY   = 0;
 mnOutWidth  = 0;
 mnOutHeight = 0;
-if (comphelper::LibreOfficeKit::isActive())
-{
-// Device size isn't set later in this case, and with zero size, we
-// miss paint events.
-mnOutWidth = 1;
-mnOutHeight = 1;
-}
 mnDPIX  = 0;
 mnDPIY  = 0;
 mnDPIScaleFactor= 1;
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: vcl/headless vcl/source vcl/unx

2016-02-22 Thread Noel Grandin
 vcl/headless/svpbmp.cxx|8 +-
 vcl/source/app/svdata.cxx  |   25 ++--
 vcl/source/app/svmain.cxx  |   15 +++-
 vcl/source/control/ctrl.cxx|3 
 vcl/source/edit/textdoc.cxx|2 
 vcl/source/filter/graphicfilter.cxx|3 
 vcl/source/filter/ixbm/xbmread.cxx |8 +-
 vcl/source/filter/ixpm/xpmread.cxx |   21 +-
 vcl/source/filter/wmf/emfwr.cxx|6 +
 vcl/source/filter/wmf/wmfwr.cxx|6 +
 vcl/source/gdi/bitmap3.cxx |9 +-
 vcl/source/gdi/bitmap4.cxx |   76 +++--
 vcl/source/gdi/dibtools.cxx|4 -
 vcl/source/gdi/gdimtf.cxx  |   20 +-
 vcl/source/gdi/gfxlink.cxx |5 +
 vcl/source/gdi/metaact.cxx |6 +
 vcl/source/gdi/pngread.cxx |   10 ++-
 vcl/source/gdi/regionband.cxx  |   10 ++-
 vcl/source/gdi/salmisc.cxx |   10 ++-
 vcl/source/gdi/svmconverter.cxx|6 +
 vcl/source/window/menu.cxx |   24 +--
 vcl/source/window/printdlg.cxx |   20 +-
 vcl/source/window/scrwnd.cxx   |   16 ++---
 vcl/unx/generic/app/i18n_status.cxx|5 +
 vcl/unx/generic/app/saldisp.cxx|6 +
 vcl/unx/generic/app/wmadaptor.cxx  |   35 +--
 vcl/unx/generic/dtrans/bmp.cxx |   10 ++-
 vcl/unx/generic/gdi/gdiimpl.cxx|   45 ++
 vcl/unx/generic/gdi/salbmp.cxx |   48 +++
 vcl/unx/generic/gdi/salgdi.cxx |   29 +++--
 vcl/unx/generic/glyphs/freetype_glyphcache.cxx |7 +-
 vcl/unx/generic/printer/ppdparser.cxx  |   12 ++-
 vcl/unx/generic/printer/printerinfomanager.cxx |3 
 33 files changed, 381 insertions(+), 132 deletions(-)

New commits:
commit 84db33a4569c67c0164b85bd218246e1741f6815
Author: Noel Grandin 
Date:   Mon Feb 22 15:38:12 2016 +0200

loplugin:commaoperator in vcl/

Change-Id: Ia5bbce27d9e9526122ce1e27389c7845e6709f27

diff --git a/vcl/headless/svpbmp.cxx b/vcl/headless/svpbmp.cxx
index 3f59cdd..68ea2f3 100644
--- a/vcl/headless/svpbmp.cxx
+++ b/vcl/headless/svpbmp.cxx
@@ -203,7 +203,8 @@ void SvpSalBitmap::Destroy()
 if (mpDIB)
 {
 delete[] mpDIB->mpBits;
-delete mpDIB, mpDIB = nullptr;
+delete mpDIB;
+mpDIB = nullptr;
 }
 }
 
@@ -212,7 +213,10 @@ Size SvpSalBitmap::GetSize() const
 Size aSize;
 
 if (mpDIB)
-aSize.Width() = mpDIB->mnWidth, aSize.Height() = mpDIB->mnHeight;
+{
+aSize.Width() = mpDIB->mnWidth;
+aSize.Height() = mpDIB->mnHeight;
+}
 
 return aSize;
 }
diff --git a/vcl/source/app/svdata.cxx b/vcl/source/app/svdata.cxx
index 19c663a..dd34d10 100644
--- a/vcl/source/app/svdata.cxx
+++ b/vcl/source/app/svdata.cxx
@@ -100,17 +100,32 @@ void ImplDeInitSVData()
 
 // delete global instance data
 if( pSVData->mpSettingsConfigItem )
-delete pSVData->mpSettingsConfigItem, pSVData->mpSettingsConfigItem = 
nullptr;
+{
+delete pSVData->mpSettingsConfigItem;
+pSVData->mpSettingsConfigItem = nullptr;
+}
 
 if( pSVData->mpDockingManager )
-delete pSVData->mpDockingManager, pSVData->mpDockingManager = nullptr;
+{
+delete pSVData->mpDockingManager;
+pSVData->mpDockingManager = nullptr;
+}
 
 if( pSVData->maCtrlData.mpFieldUnitStrings )
-delete pSVData->maCtrlData.mpFieldUnitStrings, 
pSVData->maCtrlData.mpFieldUnitStrings = nullptr;
+{
+delete pSVData->maCtrlData.mpFieldUnitStrings;
+pSVData->maCtrlData.mpFieldUnitStrings = nullptr;
+}
 if( pSVData->maCtrlData.mpCleanUnitStrings )
-delete pSVData->maCtrlData.mpCleanUnitStrings, 
pSVData->maCtrlData.mpCleanUnitStrings = nullptr;
+{
+delete pSVData->maCtrlData.mpCleanUnitStrings;
+pSVData->maCtrlData.mpCleanUnitStrings = nullptr;
+}
 if( pSVData->mpPaperNames )
-delete pSVData->mpPaperNames, pSVData->mpPaperNames = nullptr;
+{
+delete pSVData->mpPaperNames;
+pSVData->mpPaperNames = nullptr;
+}
 }
 
 /// Returns either the application window, or the default GL context window
diff --git a/vcl/source/app/svmain.cxx b/vcl/source/app/svmain.cxx
index 1546bc3..5fdd268 100644
--- a/vcl/source/app/svmain.cxx
+++ b/vcl/source/app/svmain.cxx
@@ -383,10 +383,16 @@ void DeInitVCL()
 delete pSVData->maGDIData.mpGrfConverter;
 
 if( pSVData->mpSettingsConfigItem )
-delete pSVData->mpSettingsConfigItem, pSVData->mpSettingsConfigItem = 
nullptr;
+{
+delete pSVData->mpSettingsConfigItem;
+pSVData->mpSettingsConfigItem = nullptr;
+}