[Libreoffice-commits] core.git: Branch 'private/kohei/new-chart-type-skeleton' - 434 commits - accessibility/inc avmedia/Library_avmedia.mk avmedia/source basctl/source basebmp/test basegfx/source basic/inc basic/Library_sb.mk basic/qa basic/source bin/convwatch.py bridges/source canvas/source chart2/qa chart2/source codemaker/source comphelper/source compilerplugins/clang config_host.mk.in configure.ac connectivity/source cppcanvas/source cppuhelper/source cppu/source cui/source cui/uiconfig dbaccess/inc dbaccess/source dbaccess/uiconfig dbaccess/UIConfig_dbaccess.mk desktop/inc desktop/source drawinglayer/source dtrans/source editeng/source embeddedobj/source embeddedobj/test eventattacher/source extensions/source external/apr external/boost extras/source filter/source forms/source formula/source fpicker/source framework/inc framework/source helpcontent2 hwpfilter/source i18npool/inc i18npool/source idl/inc include/avmedia include/basic include/canvas include/comphelper include/connectivity inc lude/editeng include/filter include/formula include/framework include/linguistic include/o3tl include/oox include/sal include/sfx2 include/sot include/svl include/svtools include/svx include/toolkit include/tools include/ucbhelper include/unotools include/vcl include/xmloff ios/experimental io/source l10ntools/inc librelogo/source lingucomponent/source linguistic/source lotuswordpro/source odk/examples oox/source package/source postprocess/Rdb_services.mk pyuno/source reportdesign/source RepositoryExternal.mk Repository.mk rsc/inc rsc/source sal/cppunittester sal/CppunitTest_sal_rtl_oustring.mk salhelper/source sal/Library_sal.mk sal/osl sal/qa sal/rtl sal/workben sax/source sccomp/CppunitTest_sccomp_lpsolver.mk sccomp/Library_coinmpsolver.mk sccomp/Library_solver.mk sccomp/Module_sccomp.mk sccomp/qa sccomp/source sc/inc sc/Library_sc.mk scp2/InstallModule_calc.mk sc/qa scripting/source sc/source sc/uiconfig sc/UIConfig_scalc.mk sdext/source sd/inc sd/qa sd/source sfx2/inc sfx2/sour ce shell/source slideshow/source smoketest/CppunitTest_smoketest.mk smoketest/data solenv/bin solenv/gbuild soltools/cpp sot/source starmath/inc starmath/source starmath/uiconfig starmath/UIConfig_smath.mk stoc/source svgio/inc svl/qa svl/source svtools/source svx/inc svx/source sw/inc sw/qa sw/source test/source testtools/source toolkit/source tools/Library_tl.mk tools/source ucb/source udkapi/com UnoControls/inc unotools/source unusedcode.easy uui/source vbahelper/source vcl/android vcl/Executable_kdefilepicker.mk vcl/generic vcl/headless vcl/inc vcl/ios vcl/Library_vclplug_kde.mk vcl/null vcl/osx vcl/qa vcl/quartz vcl/README vcl/source vcl/uiconfig vcl/unx vcl/win vcl/workben winaccessibility/source wizards/com writerfilter/source writerperfect/CppunitTest_writerperfect_draw.mk writerperfect/CppunitTest_writerperfect_impress.mk writerperfect/CppunitTest_writerperfect_writer.mk writerperfect/Module_writerperfect.mk writerperfect/qa writerperfect/source writerperfect/StaticLibrary_ writerperfect_importtestbase.mk xmlhelp/source xmloff/inc xmloff/source xmlsecurity/inc xmlsecurity/source
Kohei Yoshida
kohei.yoshida at collabora.com
Wed Apr 2 08:10:18 PDT 2014
Rebased ref, commits from common ancestor:
commit 79ed4980f7197a121fabd0c402a31e9efd538ad7
Author: Kohei Yoshida <kohei.yoshida at collabora.com>
Date: Wed Mar 26 11:11:49 2014 -0400
Re-enable the new chart type.
Change-Id: If060d101c4a8f2486d3532f4048f9042df0cd204
diff --git a/chart2/source/inc/macros.hxx b/chart2/source/inc/macros.hxx
index 21e5911..2319afe 100644
--- a/chart2/source/inc/macros.hxx
+++ b/chart2/source/inc/macros.hxx
@@ -30,7 +30,7 @@
typeid( ex ).name() << ", Message: " << \
ex.Message )
-#define ENABLE_GL3D_BARCHART 0
+#define ENABLE_GL3D_BARCHART 1
#endif
commit 31e4419ac7581aa7864905bcd4ce42e14df6c9bb
Author: Eike Rathke <erack at redhat.com>
Date: Wed Apr 2 16:54:17 2014 +0200
resolved fdo#76949 correct grammar is GRAM_OOXML
Regression introduced with ca8ca8c28742879220f3ff88ae0d71c8d69b11cd that
used GRAM_ENGLISH_XL_OOX instead, which is English UI function names
with OOXML reference syntax.
Change-Id: If6b73e85a45e57f6ef281d1edf8e34dec7cb9bb8
diff --git a/sc/source/filter/excel/xestream.cxx b/sc/source/filter/excel/xestream.cxx
index d5bf89d..04a8298 100644
--- a/sc/source/filter/excel/xestream.cxx
+++ b/sc/source/filter/excel/xestream.cxx
@@ -821,7 +821,7 @@ OUString XclXmlUtils::ToOUString(
ScDocument& rDocument, const ScAddress& rAddress, const ScTokenArray* pTokenArray )
{
ScCompiler aCompiler( &rDocument, rAddress, const_cast<ScTokenArray&>(*pTokenArray));
- aCompiler.SetGrammar(FormulaGrammar::GRAM_ENGLISH_XL_OOX);
+ aCompiler.SetGrammar(FormulaGrammar::GRAM_OOXML);
OUStringBuffer aBuffer( pTokenArray->GetLen() * 5 );
aCompiler.CreateStringFromTokenArray( aBuffer );
commit cc911e8bc428b16cff9fdc77c10d470110c4531b
Author: Eike Rathke <erack at redhat.com>
Date: Tue Apr 1 15:59:45 2014 +0200
just nitpicking on scope
Change-Id: I01969fb4596e7866ddb348d026a22f45deeef0c8
diff --git a/sc/source/core/data/column3.cxx b/sc/source/core/data/column3.cxx
index 86ee9a2..38a92c0 100644
--- a/sc/source/core/data/column3.cxx
+++ b/sc/source/core/data/column3.cxx
@@ -2710,7 +2710,6 @@ class MaxNumStringLenHandler
OUString aString;
OUString aSep;
- sal_Int32 nLen;
sal_uInt16 nPrec;
sal_uInt32 nFormat = static_cast<const SfxUInt32Item*>(
mrColumn.GetAttr(nRow, ATTR_VALUE_FORMAT))->GetValue();
@@ -2748,7 +2747,7 @@ class MaxNumStringLenHandler
nPrec = SvNumberFormatter::UNLIMITED_PRECISION;
}
- nLen = aString.getLength();
+ sal_Int32 nLen = aString.getLength();
if (nLen <= 0)
// Ignore empty string.
return;
commit ba17f5a34480f76942414eab79e297ae5fad59b7
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Apr 2 13:00:26 2014 +0100
coverity#708209 Uninitialized scalar field
Change-Id: Ic24e147dd631bbed4e5759b1bd4bebbd0b8add4a
diff --git a/include/tools/inetmime.hxx b/include/tools/inetmime.hxx
index 72fd678..04b3141 100644
--- a/include/tools/inetmime.hxx
+++ b/include/tools/inetmime.hxx
@@ -978,6 +978,7 @@ inline INetMIMEEncodedWordOutputSink::INetMIMEEncodedWordOutputSink(
m_nExtraSpaces(0),
m_pEncodingList(INetMIME::createPreferredCharsetList(ePreferredEncoding)),
m_ePrevCoding(CODING_NONE),
+ m_ePrevMIMEEncoding(RTL_TEXTENCODING_DONTKNOW),
m_eCoding(CODING_NONE),
m_nQuotedEscaped(0),
m_eEncodedWordState(STATE_INITIAL)
commit 67e2de7d6c4340be605f6770b2e0b732d41dbeac
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Apr 2 12:57:40 2014 +0100
coverity#707967 Uninitialized scalar field
Change-Id: I65aa00d79efe15f63c272fbcd5d3e0dea2c28dfc
diff --git a/reportdesign/source/core/api/ReportDefinition.cxx b/reportdesign/source/core/api/ReportDefinition.cxx
index c8922a7..2186b7e 100644
--- a/reportdesign/source/core/api/ReportDefinition.cxx
+++ b/reportdesign/source/core/api/ReportDefinition.cxx
@@ -616,6 +616,8 @@ struct OReportDefinitionImpl
,m_aDocEventListeners(_aMutex)
,m_sMimeType(_aCopy.m_sMimeType)
,m_sIdentifier(_aCopy.m_sIdentifier)
+ ,m_aVisualAreaSize(_aCopy.m_aVisualAreaSize)
+ ,m_nAspect(_aCopy.m_nAspect)
,m_nGroupKeepTogether(_aCopy.m_nGroupKeepTogether)
,m_nPageHeaderOption(_aCopy.m_nPageHeaderOption)
,m_nPageFooterOption(_aCopy.m_nPageFooterOption)
@@ -623,6 +625,7 @@ struct OReportDefinitionImpl
,m_bControllersLocked(_aCopy.m_bControllersLocked)
,m_bModified(_aCopy.m_bModified)
,m_bEscapeProcessing(_aCopy.m_bEscapeProcessing)
+ ,m_bSetModifiedEnabled(_aCopy.m_bSetModifiedEnabled)
{}
~OReportDefinitionImpl();
};
commit f6dd2b47f42917a185296969bca03c63b0b9e95b
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Apr 2 12:53:26 2014 +0100
coverity#707969 unused nMasterPageNameIndex
Change-Id: I1a91871eb9f1952625b94b15d9ab8a4712487048
diff --git a/reportdesign/source/filter/xml/xmlStyleImport.hxx b/reportdesign/source/filter/xml/xmlStyleImport.hxx
index c3222da..e71d5f2 100644
--- a/reportdesign/source/filter/xml/xmlStyleImport.hxx
+++ b/reportdesign/source/filter/xml/xmlStyleImport.hxx
@@ -89,7 +89,6 @@ namespace rptxml
const OUString m_sCellStyleFamilyName;
ORptFilter& m_rImport;
sal_Int32 m_nNumberFormatIndex;
- sal_Int32 nMasterPageNameIndex;
sal_Bool bAutoStyles : 1;
//mutable UniReference < SvXMLImportPropertyMapper > m_xControlImpPropMapper;
commit eac97e7925a7e7dc47c9860fecf47fa4ff498b41
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Apr 2 12:52:27 2014 +0100
coverity#707970 Uninitialized scalar field
Change-Id: I70cc8c7667d9cfb2fc043e3889c7fb5adc9abd52
diff --git a/reportdesign/source/ui/inspection/GeometryHandler.cxx b/reportdesign/source/ui/inspection/GeometryHandler.cxx
index 325b3a7..6d5838b 100644
--- a/reportdesign/source/ui/inspection/GeometryHandler.cxx
+++ b/reportdesign/source/ui/inspection/GeometryHandler.cxx
@@ -225,13 +225,15 @@ OUString GeometryHandler::impl_convertToFormula( const uno::Any& _rControlValue
aParser = ReportFormula( impl_isDataField(sName) ? ReportFormula::Field : ReportFormula::Expression, sName );
return aParser.getCompleteFormula();
}
-GeometryHandler::GeometryHandler(uno::Reference< uno::XComponentContext > const & context) :
- GeometryHandler_Base(m_aMutex)
- ,m_aPropertyListeners( m_aMutex )
- ,m_xContext(context)
- ,m_pInfoService(new OPropertyInfoService())
- ,m_nDataFieldType(0)
- ,m_bIn(false)
+
+GeometryHandler::GeometryHandler(uno::Reference< uno::XComponentContext > const & context)
+ : GeometryHandler_Base(m_aMutex)
+ , m_aPropertyListeners(m_aMutex)
+ , m_xContext(context)
+ , m_pInfoService(new OPropertyInfoService())
+ , m_nDataFieldType(0)
+ , m_bNewFunction(false)
+ , m_bIn(false)
{
try
{
commit 4ab06a576313de973ae96787a19215b208737859
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Apr 2 12:38:36 2014 +0100
coverity#707971 Uninitialized scalar field
Change-Id: I5c1045253c082a00397cf0f048baee947232c9b1
diff --git a/reportdesign/source/ui/report/ViewsWindow.cxx b/reportdesign/source/ui/report/ViewsWindow.cxx
index 19cf7ab..5f03f88 100644
--- a/reportdesign/source/ui/report/ViewsWindow.cxx
+++ b/reportdesign/source/ui/report/ViewsWindow.cxx
@@ -956,8 +956,17 @@ namespace
sal_Bool m_bCopy;
public:
- ApplySectionViewAction( sal_Bool _bCopy ) : m_eAction( eEndDragObj ), m_bCopy( _bCopy ) { }
- ApplySectionViewAction(SectionViewAction _eAction = eEndAction ) : m_eAction( _eAction ) { }
+ ApplySectionViewAction(sal_Bool _bCopy)
+ : m_eAction(eEndDragObj)
+ , m_bCopy(_bCopy)
+ {
+ }
+
+ ApplySectionViewAction(SectionViewAction _eAction = eEndAction)
+ : m_eAction(_eAction)
+ , m_bCopy(false)
+ {
+ }
void operator() ( const OViewsWindow::TSectionsMap::value_type& _rhs )
{
commit bd3015129a57cbd88ebdb18a9606e60966453a53
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Apr 2 12:35:16 2014 +0100
coverity#738868 Uninitialized pointer field
Change-Id: I150b47a6d4463479af7206b15441fefb27b8f603
diff --git a/svx/source/core/extedit.cxx b/svx/source/core/extedit.cxx
index 853ae77..24e93f9 100644
--- a/svx/source/core/extedit.cxx
+++ b/svx/source/core/extedit.cxx
@@ -32,10 +32,13 @@ using namespace css::uno;
using namespace css::system;
ExternalToolEdit::ExternalToolEdit()
-{}
+ : m_pGraphicObject(NULL)
+{
+}
ExternalToolEdit::~ExternalToolEdit()
-{}
+{
+}
void ExternalToolEdit::HandleCloseEvent(ExternalToolEdit* pData)
{
@@ -116,3 +119,5 @@ void ExternalToolEdit::Edit( GraphicObject* pGraphicObject )
// Create the data that is needed by the thread later
osl_createThread(ExternalToolEdit::threadWorker, this);
}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
commit 6f3545833e4bf88a68995eab53356b3c7dd9bf53
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Apr 2 12:33:24 2014 +0100
coverity#738789 Uninitialized pointer field
Change-Id: I990e8ba0e2b8ad2a43a33343ac832e42777e28cb
diff --git a/sc/source/core/data/dociter.cxx b/sc/source/core/data/dociter.cxx
index 70b2c83..060ac3b 100644
--- a/sc/source/core/data/dociter.cxx
+++ b/sc/source/core/data/dociter.cxx
@@ -114,16 +114,22 @@ void ScAttrArray_IterGetNumberFormat( sal_uLong& nFormat, const ScAttrArray*& rp
}
ScValueIterator::ScValueIterator( ScDocument* pDocument, const ScRange& rRange,
- bool bSTotal, bool bTextZero ) :
- pDoc( pDocument ),
- nNumFmtIndex(0),
- maStartPos(rRange.aStart),
- maEndPos(rRange.aEnd),
- nNumFmtType( NUMBERFORMAT_UNDEFINED ),
- bNumValid( false ),
- bSubTotal(bSTotal),
- bCalcAsShown( pDocument->GetDocOptions().IsCalcAsShown() ),
- bTextAsZero( bTextZero )
+ bool bSTotal, bool bTextZero )
+ : pDoc(pDocument)
+ , pAttrArray(NULL)
+ , nNumFormat(0) // Initialized in GetNumberFormat
+ , nNumFmtIndex(0)
+ , maStartPos(rRange.aStart)
+ , maEndPos(rRange.aEnd)
+ , mnCol(0)
+ , mnTab(0)
+ , nAttrEndRow(0)
+ , nNumFmtType(NUMBERFORMAT_UNDEFINED)
+ , bNumValid(false)
+ , bSubTotal(bSTotal)
+ , bCalcAsShown(pDocument->GetDocOptions().IsCalcAsShown())
+ , bTextAsZero(bTextZero)
+ , mpCells(NULL)
{
SCTAB nDocMaxTab = pDocument->GetTableCount() - 1;
@@ -133,10 +139,6 @@ ScValueIterator::ScValueIterator( ScDocument* pDocument, const ScRange& rRange,
if (!ValidRow(maEndPos.Row())) maEndPos.SetRow(MAXROW);
if (!ValidTab(maStartPos.Tab()) || maStartPos.Tab() > nDocMaxTab) maStartPos.SetTab(nDocMaxTab);
if (!ValidTab(maEndPos.Tab()) || maEndPos.Tab() > nDocMaxTab) maEndPos.SetTab(nDocMaxTab);
-
- nNumFormat = 0; // Initialized in GetNumberFormat
- pAttrArray = 0;
- nAttrEndRow = 0;
}
SCROW ScValueIterator::GetRow() const
commit 45ce21ac5ab41e49df0a8482d3cd98c61b8b326c
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Apr 2 12:29:23 2014 +0100
coverity#738787 Uninitialized pointer field
Change-Id: Ic2f968d3150bba458dc3f40799ef0933a423a9e0
diff --git a/sc/source/core/data/colorscale.cxx b/sc/source/core/data/colorscale.cxx
index a366b09..4588550 100644
--- a/sc/source/core/data/colorscale.cxx
+++ b/sc/source/core/data/colorscale.cxx
@@ -290,8 +290,9 @@ void ScColorScaleEntry::SetColor(const Color& rColor)
maColor = rColor;
}
-ScColorFormat::ScColorFormat(ScDocument* pDoc):
- ScFormatEntry(pDoc)
+ScColorFormat::ScColorFormat(ScDocument* pDoc)
+ : ScFormatEntry(pDoc)
+ , mpParent(NULL)
{
}
commit b75204cd33901bd18e9000ee63a225283a6207a0
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Apr 2 12:27:38 2014 +0100
coverity#708642 Uninitialized pointer field
Change-Id: I30b61ed5b383f4acb5d29cb1c898015b28b1431c
diff --git a/vcl/source/window/brdwin.cxx b/vcl/source/window/brdwin.cxx
index 4ec9579..84794f4 100644
--- a/vcl/source/window/brdwin.cxx
+++ b/vcl/source/window/brdwin.cxx
@@ -1008,13 +1008,16 @@ void ImplNoBorderWindowView::DrawWindow( sal_uInt16, OutputDevice*, const Point*
}
// - ImplSmallBorderWindowView -
-
ImplSmallBorderWindowView::ImplSmallBorderWindowView( ImplBorderWindow* pBorderWindow )
: mpBorderWindow(pBorderWindow)
+ , mpOutDev(NULL)
+ , mnWidth(0)
+ , mnHeight(0)
, mnLeftBorder(0)
, mnTopBorder(0)
, mnRightBorder(0)
, mnBottomBorder(0)
+ , mbNWFBorder(false)
{
}
commit dc1277767d507dde91a1c7999ebdc26caaa922a3
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Apr 2 12:23:44 2014 +0100
coverity#708600 Uninitialized pointer field
Change-Id: I50da1da601981d55f413e03b063cda60b10893e6
diff --git a/vcl/source/gdi/impimage.cxx b/vcl/source/gdi/impimage.cxx
index 0e1fd7e..2d054ab7 100644
--- a/vcl/source/gdi/impimage.cxx
+++ b/vcl/source/gdi/impimage.cxx
@@ -119,6 +119,8 @@ bool ImplImageData::IsEqual( const ImplImageData& rData )
ImplImage::ImplImage()
: mnRefCount(1)
+ , mpData(NULL)
+ , meType(IMAGETYPE_BITMAP)
{
}
commit 99007fdb8e70ee6c2f05cf60808c3e6aa76311a2
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Apr 2 12:21:50 2014 +0100
coverity#708589 Uninitialized pointer field
Change-Id: Ifc584276b32e517cb3105133de731e068851254b
diff --git a/vcl/source/control/lstbox.cxx b/vcl/source/control/lstbox.cxx
index c978fe4..a166de6 100644
--- a/vcl/source/control/lstbox.cxx
+++ b/vcl/source/control/lstbox.cxx
@@ -42,7 +42,9 @@ void ListBox::EnableQuickSelection( const bool& b )
mpImplLB->GetMainWindow()->EnableQuickSelection(b);
}
-ListBox::ListBox( WindowType nType ) : Control( nType )
+ListBox::ListBox(WindowType nType)
+ : Control(nType)
+ , mpImplLB(NULL)
{
ImplInitListBoxData();
}
commit 617faefab11b2565b95fcff9133ebf7b01bc49f1
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Apr 2 12:18:49 2014 +0100
coverity#708314 Uninitialized pointer field
Change-Id: Ifdd607c8bb1859af907ba2d6bbe6e9824681bc57
diff --git a/vcl/source/filter/ixpm/xpmread.cxx b/vcl/source/filter/ixpm/xpmread.cxx
index e3f48ec..04bc866 100644
--- a/vcl/source/filter/ixpm/xpmread.cxx
+++ b/vcl/source/filter/ixpm/xpmread.cxx
@@ -23,25 +23,31 @@
#define _XPMPRIVATE
#include "xpmread.hxx"
-XPMReader::XPMReader( SvStream& rStm ) :
- mrIStm ( rStm ),
- mpAcc ( NULL ),
- mpMaskAcc ( NULL ),
- mnLastPos ( rStm.Tell() ),
- mnWidth ( 0 ),
- mnHeight ( 0 ),
- mnColors ( 0 ),
- mnCpp ( 0 ),
- mbTransparent ( false ),
- mbStatus ( true ),
- mnStatus ( 0 ),
- mnIdentifier ( XPMIDENTIFIER ),
- mcThisByte ( 0 ),
- mnTempAvail ( 0 ),
- mpFastColorTable( NULL ),
- mpColMap ( NULL )
+XPMReader::XPMReader(SvStream& rStm)
+ : mrIStm(rStm)
+ , mpAcc(NULL)
+ , mpMaskAcc(NULL)
+ , mnLastPos(rStm.Tell())
+ , mnWidth(0)
+ , mnHeight(0)
+ , mnColors(0)
+ , mnCpp(0)
+ , mbTransparent(false)
+ , mbStatus(true)
+ , mnStatus( 0 )
+ , mnIdentifier(XPMIDENTIFIER)
+ , mcThisByte(0)
+ , mcLastByte(0)
+ , mnTempAvail(0)
+ , mpTempBuf(NULL)
+ , mpTempPtr(NULL)
+ , mpFastColorTable(NULL)
+ , mpColMap(NULL)
+ , mnStringSize(0)
+ , mpStringBuf(NULL)
+ , mnParaSize(0)
+ , mpPara(NULL)
{
-
}
XPMReader::~XPMReader()
commit f95f708548343d7589474b723a69508223f6da4c
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Apr 2 12:11:32 2014 +0100
coverity#707833 Uninitialized pointer field
Change-Id: I355ada53d637ad16d88c7e8d8b0f333915f54b6e
diff --git a/filter/source/graphicfilter/itiff/itiff.cxx b/filter/source/graphicfilter/itiff/itiff.cxx
index c15465f..c274468 100644
--- a/filter/source/graphicfilter/itiff/itiff.cxx
+++ b/filter/source/graphicfilter/itiff/itiff.cxx
@@ -123,7 +123,54 @@ private:
bool HasAlphaChannel() const;
public:
- TIFFReader() : pAlphaMask(0), pMaskAcc(0) {}
+ TIFFReader()
+ : bStatus(false)
+ , nLastPercent(0)
+ , pTIFF(NULL)
+ , pAcc(NULL)
+ , nDstBitsPerPixel(0)
+ , pAlphaMask(NULL)
+ , pMaskAcc(NULL)
+ , nOrigPos(0)
+ , nOrigNumberFormat(0)
+ , nDataType(0)
+ , bByteSwap(false)
+ , nNewSubFile(0)
+ , nSubFile(0)
+ , nImageWidth(0)
+ , nImageLength(0)
+ , nBitsPerSample(1)
+ , nCompression(1)
+ , nPhotometricInterpretation(0)
+ , nThresholding(1)
+ , nCellWidth(1)
+ , nCellLength(1)
+ , nFillOrder(1)
+ , pStripOffsets(NULL)
+ , nNumStripOffsets(0)
+ , nOrientation(1)
+ , nSamplesPerPixel(1)
+ , nRowsPerStrip(0xffffffff)
+ , pStripByteCounts(NULL)
+ , nNumStripByteCounts(0)
+ , nMinSampleValue(0)
+ , nMaxSampleValue(0)
+ , fXResolution(0.0)
+ , fYResolution(0.0)
+ , nPlanarConfiguration(1)
+ , nGroup3Options(0)
+ , nGroup4Options(0)
+ , nResolutionUnit(2)
+ , nPredictor(0)
+ , pColorMap(NULL)
+ , nNumColors(0)
+ , nPlanes(0)
+ , nStripsPerPlane(0)
+ , nBytesPerRow(0)
+ {
+ pMap[ 0 ] = pMap[ 1 ] = pMap[ 2 ] = pMap[ 3 ] = NULL;
+ }
+
~TIFFReader()
{
delete pAlphaMask;
commit 8e45fbd60e8c7e17503a12dcdd13f2aeeb243d25
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Apr 2 11:59:27 2014 +0100
coverity#707828 Uninitialized pointer field
Change-Id: If4635aa5adc5d82712a779ae487b0a27539c2d70
diff --git a/filter/source/graphicfilter/ipict/ipict.cxx b/filter/source/graphicfilter/ipict/ipict.cxx
index 27cf0bf..0730d4f 100644
--- a/filter/source/graphicfilter/ipict/ipict.cxx
+++ b/filter/source/graphicfilter/ipict/ipict.cxx
@@ -242,7 +242,17 @@ private:
static rtl_TextEncoding GetTextEncoding (sal_uInt16 fId = 0xFFFF);
public:
- PictReader() { aActFont.SetCharSet(GetTextEncoding()); }
+ PictReader()
+ : pPict(NULL)
+ , pVirDev(NULL)
+ , nOrigPos(0)
+ , nOrigNumberFormat(0)
+ , IsVersion2(false)
+ , eActROP(ROP_OVERPAINT)
+ , eActMethod(PDM_UNDEFINED)
+ {
+ aActFont.SetCharSet(GetTextEncoding());
+ }
void ReadPict( SvStream & rStreamPict, GDIMetaFile & rGDIMetaFile );
// reads a pict file from the stream and fills the GDIMetaFile
commit b89e9fa401fbfebc874e305122c6946662ba5800
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Apr 2 11:52:46 2014 +0100
coverity#705866 Dereference before null check
Change-Id: I3f70fda1098c2da97f36e474689853379e5b9ac2
diff --git a/sd/source/ui/presenter/PresenterHelper.cxx b/sd/source/ui/presenter/PresenterHelper.cxx
index 8bcc7ec..e186ac9 100644
--- a/sd/source/ui/presenter/PresenterHelper.cxx
+++ b/sd/source/ui/presenter/PresenterHelper.cxx
@@ -132,23 +132,19 @@ Reference<awt::XWindow> SAL_CALL PresenterHelper::createWindow (
pParentWindow->EnableChildTransparentMode(true);
}
- if (pWindow != NULL)
- {
- pWindow->Show(bInitiallyVisible);
-
- pWindow->SetMapMode(MAP_PIXEL);
- pWindow->SetBackground();
- if ( ! bEnableParentClip)
- {
- pWindow->SetParentClipMode(PARENTCLIPMODE_NOCLIP);
- pWindow->SetPaintTransparent(true);
- }
- else
- {
- pWindow->SetParentClipMode(PARENTCLIPMODE_CLIP);
- pWindow->SetPaintTransparent(false);
- }
+ pWindow->Show(bInitiallyVisible);
+ pWindow->SetMapMode(MAP_PIXEL);
+ pWindow->SetBackground();
+ if ( ! bEnableParentClip)
+ {
+ pWindow->SetParentClipMode(PARENTCLIPMODE_NOCLIP);
+ pWindow->SetPaintTransparent(true);
+ }
+ else
+ {
+ pWindow->SetParentClipMode(PARENTCLIPMODE_CLIP);
+ pWindow->SetPaintTransparent(false);
}
return xWindow;
commit a7ff16ada6ac8998863a0a9708bc1a89b38bfd82
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Apr 2 11:50:33 2014 +0100
coverity#705854 Dereference before null check
Change-Id: I8bdedf38a29587bb504ccf310371dea756efd47d
diff --git a/sd/source/filter/eppt/epptso.cxx b/sd/source/filter/eppt/epptso.cxx
index d36590a..cb84f6f 100644
--- a/sd/source/filter/eppt/epptso.cxx
+++ b/sd/source/filter/eppt/epptso.cxx
@@ -693,7 +693,7 @@ void PPTWriter::ImplWriteParagraphs( SvStream& rOut, TextObj& rTextObj )
}
else
{
- if ( !pPara->mbFixedLineSpacing && pPortion && pPortion->mnCharHeight > (sal_uInt16)( ((double)-nLineSpacing) * 0.001 * 72.0 / 2.54 ) ) // 1/100mm to point
+ if ( !pPara->mbFixedLineSpacing && pPortion->mnCharHeight > (sal_uInt16)( ((double)-nLineSpacing) * 0.001 * 72.0 / 2.54 ) ) // 1/100mm to point
nLineSpacing = nNormalSpacing;
else
nLineSpacing = (sal_Int16)( (double)nLineSpacing / 4.40972 );
commit d69b30a84d8622a1bb93cb38cdb4d458c4d6a965
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Apr 2 10:48:13 2014 +0100
coverity#1019376 Resource leak
Change-Id: Ifa9c5a7b3aa0d219e09fa3081e66d870a508a84d
diff --git a/pyuno/source/module/pyuno_impl.hxx b/pyuno/source/module/pyuno_impl.hxx
index 471ac95..02600cd 100644
--- a/pyuno/source/module/pyuno_impl.hxx
+++ b/pyuno/source/module/pyuno_impl.hxx
@@ -51,6 +51,8 @@
#include <cppuhelper/implbase2.hxx>
#include <cppuhelper/weakref.hxx>
+#include <osl/module.hxx>
+
// In Python 3, the PyString_* functions have been replaced by PyBytes_*
// and PyUnicode_* functions.
#if PY_MAJOR_VERSION >= 3
@@ -276,6 +278,7 @@ struct RuntimeCargo
com::sun::star::uno::Reference< com::sun::star::script::XInvocationAdapterFactory2 > xAdapterFactory;
com::sun::star::uno::Reference< com::sun::star::beans::XIntrospection > xIntrospection;
PyRef dictUnoModule;
+ osl::Module testModule;
bool valid;
ExceptionClassMap exceptionMap;
ClassSet interfaceSet;
diff --git a/pyuno/source/module/pyuno_module.cxx b/pyuno/source/module/pyuno_module.cxx
index 47b57aa..27986e5 100644
--- a/pyuno/source/module/pyuno_module.cxx
+++ b/pyuno/source/module/pyuno_module.cxx
@@ -346,11 +346,13 @@ static PyObject* initPoniesMode(
.replaceAll(OString('/'), OString('\\'))
#endif
;
- oslModule const mod( osl_loadModuleAscii(libname.getStr(),
- SAL_LOADMODULE_LAZY | SAL_LOADMODULE_GLOBAL) );
- if (!mod) { abort(); }
+
+ osl::Module &mod = runtime.getImpl()->cargo->testModule;
+ mod.load(OStringToOUString(libname, osl_getThreadTextEncoding()),
+ SAL_LOADMODULE_LAZY | SAL_LOADMODULE_GLOBAL);
+ if (!mod.is()) { abort(); }
oslGenericFunction const pFunc(
- osl_getAsciiFunctionSymbol(mod, "test_init"));
+ mod.getFunctionSymbol("test_init"));
if (!pFunc) { abort(); }
// guess casting pFunc is undefined behavior but don't see a better way
((void (SAL_CALL *)(XMultiServiceFactory*)) pFunc) (xMSF.get());
commit 0978c495da920c12934324c3c662fa94daf95475
Author: Tor Lillqvist <tml at collabora.com>
Date: Wed Apr 2 17:30:11 2014 +0300
WaE: comparison of constant 255 with expression of type 'const char'
Change-Id: Ibe07fc9a61ae8432e92c43ac6ff07c4dc9e6c771
diff --git a/external/boost/boost.jsonparser.warnings.patch.0 b/external/boost/boost.jsonparser.warnings.patch.0
index 4a71b3b..b3d9bbf 100644
--- a/external/boost/boost.jsonparser.warnings.patch.0
+++ b/external/boost/boost.jsonparser.warnings.patch.0
@@ -56,3 +56,14 @@
m_tr(tr), m_start(m_value.begin())
{}
+--- boost/property_tree/detail/json_parser_write.hpp
++++ boost/property_tree/detail/json_parser_write.hpp
+@@ -33,7 +33,7 @@
+ // We escape everything outside ASCII, because this code can't
+ // handle high unicode characters.
+ if (*b == 0x20 || *b == 0x21 || (*b >= 0x23 && *b <= 0x2E) ||
+- (*b >= 0x30 && *b <= 0x5B) || (*b >= 0x5D && *b <= 0xFF))
++ (*b >= 0x30 && *b <= 0x5B) || (*b >= 0x5D))
+ result += *b;
+ else if (*b == Ch('\b')) result += Ch('\\'), result += Ch('b');
+ else if (*b == Ch('\f')) result += Ch('\\'), result += Ch('f');
commit f5b9db43080658201caf07cd646bae4f4f2acc95
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Apr 2 15:18:05 2014 +0100
Resolves: fdo#75307 discard invalid user data
Change-Id: Id39b51c344004e02d3d5a281ba98721b944468c3
diff --git a/cui/source/tabpages/chardlg.cxx b/cui/source/tabpages/chardlg.cxx
index 5f8e255..28c118f 100644
--- a/cui/source/tabpages/chardlg.cxx
+++ b/cui/source/tabpages/chardlg.cxx
@@ -2897,6 +2897,26 @@ void SvxCharPositionPage::Reset( const SfxItemSet& rSet )
m_nSubEsc = (short)sUser.getToken( 1, ';' ).toInt32();
m_nSuperProp = (sal_uInt8)sUser.getToken( 2, ';' ).toInt32();
m_nSubProp = (sal_uInt8)sUser.getToken( 3, ';' ).toInt32();
+
+ //fdo#75307 validate all the entries and discard all of them if any are
+ //out of range
+ bool bValid = true;
+ if (m_nSuperEsc < m_pHighLowMF->GetMin() || m_nSuperEsc > m_pHighLowMF->GetMax())
+ bValid = false;
+ if (m_nSubEsc*-1 < m_pHighLowMF->GetMin() || m_nSubEsc*-1 > m_pHighLowMF->GetMax())
+ bValid = false;
+ if (m_nSuperProp < m_pFontSizeMF->GetMin() || m_nSuperProp > m_pFontSizeMF->GetMax())
+ bValid = false;
+ if (m_nSubProp < m_pFontSizeMF->GetMin() || m_nSubProp > m_pFontSizeMF->GetMax())
+ bValid = false;
+
+ if (!bValid)
+ {
+ m_nSuperEsc = DFLT_ESC_SUPER;
+ m_nSubEsc = DFLT_ESC_SUB;
+ m_nSuperProp = DFLT_ESC_PROP;
+ m_nSubProp = DFLT_ESC_PROP;
+ }
}
short nEsc = 0;
commit 604f67db541060146a8a33944d4bcf31f2e346b4
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Apr 2 14:14:36 2014 +0100
set mnemonic widgets
Change-Id: Id4f4d2dfab6cf7f370488e87c6e86eb8da50b6fd
diff --git a/cui/uiconfig/ui/positionpage.ui b/cui/uiconfig/ui/positionpage.ui
index c44bee6..ebd1b24 100644
--- a/cui/uiconfig/ui/positionpage.ui
+++ b/cui/uiconfig/ui/positionpage.ui
@@ -1,7 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.16.1 -->
<interface>
<!-- interface-requires LibreOffice 1.0 -->
- <!-- interface-requires gtk+ 3.0 -->
+ <requires lib="gtk+" version="3.0"/>
<object class="GtkAdjustment" id="adjustment1">
<property name="lower">1</property>
<property name="upper">100</property>
@@ -135,6 +136,8 @@
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Raise/lower by</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">raiselowersb:0%</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -148,7 +151,6 @@
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">â</property>
- <property name="invisible_char_set">True</property>
<property name="adjustment">adjustment1</property>
</object>
<packing>
@@ -163,7 +165,6 @@
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">â</property>
- <property name="invisible_char_set">True</property>
<property name="adjustment">adjustment1</property>
</object>
<packing>
@@ -195,6 +196,8 @@
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Relative font size</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">fontsizesb:0%</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -337,6 +340,8 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Scale width</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">scalewidthsb:0%</property>
</object>
<packing>
<property name="expand">False</property>
@@ -349,7 +354,6 @@
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">â</property>
- <property name="invisible_char_set">True</property>
<property name="adjustment">adjustment2</property>
</object>
<packing>
@@ -460,7 +464,6 @@
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">â</property>
- <property name="invisible_char_set">True</property>
<property name="adjustment">adjustment3</property>
<property name="digits">1</property>
</object>
commit 4520973ccf0ab042b09b4233d54a1779625b0093
Author: Armin Le Grand <alg at apache.org>
Date: Wed Apr 2 11:21:46 2014 +0000
Resolves: #i124580# corrected some conversions of scale values...
to integer positions
(cherry picked from commit d3c4a0c2a87504007a30e6944f52da4654cfa784)
Change-Id: Iae4c16250e95938999d60d1c60e1163dfba243cf
diff --git a/vcl/source/gdi/outdev2.cxx b/vcl/source/gdi/outdev2.cxx
index 6506095..74236bb 100644
--- a/vcl/source/gdi/outdev2.cxx
+++ b/vcl/source/gdi/outdev2.cxx
@@ -786,8 +786,11 @@ void OutputDevice::DrawTransformedBitmapEx(
{
// with no rotation, shear or mirroring it can be mapped to DrawBitmapEx
// do *not* execute the mirroring here, it's done in the fallback
+ // #i124580# the correct DestSize needs to be calculated based on MaxXY values
const Point aDestPt(basegfx::fround(aTranslate.getX()), basegfx::fround(aTranslate.getY()));
- const Size aDestSize(basegfx::fround(aScale.getX()), basegfx::fround(aScale.getY()));
+ const Size aDestSize(
+ basegfx::fround(aScale.getX() + aTranslate.getX()) - aDestPt.X(),
+ basegfx::fround(aScale.getY() + aTranslate.getY()) - aDestPt.Y());
DrawBitmapEx(aDestPt, aDestSize, rBitmapEx);
return;
@@ -814,8 +817,11 @@ void OutputDevice::DrawTransformedBitmapEx(
{
// with no rotation or shear it can be mapped to DrawBitmapEx
// do *not* execute the mirroring here, it's done in the fallback
+ // #i124580# the correct DestSize needs to be calculated based on MaxXY values
const Point aDestPt(basegfx::fround(aTranslate.getX()), basegfx::fround(aTranslate.getY()));
- const Size aDestSize(basegfx::fround(aScale.getX()), basegfx::fround(aScale.getY()));
+ const Size aDestSize(
+ basegfx::fround(aScale.getX() + aTranslate.getX()) - aDestPt.X(),
+ basegfx::fround(aScale.getY() + aTranslate.getY()) - aDestPt.Y());
DrawBitmapEx(aDestPt, aDestSize, rBitmapEx);
return;
@@ -879,8 +885,11 @@ void OutputDevice::DrawTransformedBitmapEx(
aTargetRange.getMinimum()));
// extract point and size; do not remove size, the bitmap may have been prepared reduced by purpose
+ // #i124580# the correct DestSize needs to be calculated based on MaxXY values
const Point aDestPt(basegfx::fround(aVisibleRange.getMinX()), basegfx::fround(aVisibleRange.getMinY()));
- const Size aDestSize(basegfx::fround(aVisibleRange.getWidth()), basegfx::fround(aVisibleRange.getHeight()));
+ const Size aDestSize(
+ basegfx::fround(aVisibleRange.getMaxX()) - aDestPt.X(),
+ basegfx::fround(aVisibleRange.getMaxY()) - aDestPt.Y());
DrawBitmapEx(aDestPt, aDestSize, aTransformed);
}
commit 0635918c5153116a22eebec12d1b5de9d6e83e01
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date: Wed Apr 2 15:42:30 2014 +0200
SwFrmFmts: add a dumpAsXml() method
With this, it's possible to see properties of e.g. fly frames in a
document.
Change-Id: Iba68156ba7f0149dfea3e0a6367b71b8642a2a80
diff --git a/sw/inc/docary.hxx b/sw/inc/docary.hxx
index 93f1815..3269eb0 100644
--- a/sw/inc/docary.hxx
+++ b/sw/inc/docary.hxx
@@ -81,6 +81,7 @@ public:
virtual SwFmt* GetFmt(size_t idx) const SAL_OVERRIDE { return (SwFmt*)operator[](idx); }
sal_uInt16 GetPos(const SwFrmFmt* pFmt) const;
bool Contains(const SwFrmFmt* pFmt) const;
+ void dumpAsXml(xmlTextWriterPtr w);
/// free's any remaining child objects
virtual ~SwFrmFmts();
};
diff --git a/sw/source/core/docnode/nodedump.cxx b/sw/source/core/docnode/nodedump.cxx
index dbdf480..11ebfa1 100644
--- a/sw/source/core/docnode/nodedump.cxx
+++ b/sw/source/core/docnode/nodedump.cxx
@@ -16,7 +16,11 @@
#include "docufld.hxx"
#include "txatbase.hxx"
#include "fmtautofmt.hxx"
+#include "fmtcntnt.hxx"
#include "charfmt.hxx"
+#include "frmfmt.hxx"
+#include "fmtanchr.hxx"
+#include "fmtsrnd.hxx"
#include "paratr.hxx"
#include "redline.hxx"
#include <swmodule.hxx>
@@ -28,8 +32,10 @@
#include <editeng/fhgtitem.hxx>
#include <editeng/editobj.hxx>
#include <editeng/outlobj.hxx>
+#include <svx/xdef.hxx>
#include <svx/svdpage.hxx>
#include <svx/svdmodel.hxx>
+#include <svx/xfillit0.hxx>
#include <tools/datetimeutils.hxx>
#include <libxml/encoding.h>
@@ -171,6 +177,7 @@ void SwDoc::dumpAsXml( xmlTextWriterPtr w )
mpFldTypes->dumpAsXml( writer );
mpTxtFmtCollTbl->dumpAsXml( writer );
mpCharFmtTbl->dumpAsXml( writer );
+ mpSpzFrmFmtTbl->dumpAsXml( writer );
mpNumRuleTbl->dumpAsXml( writer );
mpRedlineTbl->dumpAsXml( writer );
mpExtraRedlineTbl->dumpAsXml( writer );
@@ -365,8 +372,8 @@ void lcl_dumpSfxItemSet(WriterHelper& writer, const SfxItemSet* pSet)
css::uno::Any aAny;
static_cast<const SvxRsidItem*>(pItem)->QueryValue(aAny);
oValue = OString::number(aAny.get<sal_uInt32>());
+ break;
}
- break;
case RES_CHRATR_ROTATE: pWhich = "character rotation"; oValue = OString::number(static_cast<const SvxCharRotateItem*>(pItem)->GetValue()); break;
case RES_PARATR_OUTLINELEVEL: pWhich = "paragraph outline level"; oValue = OString::number(static_cast<const SfxUInt16Item*>(pItem)->GetValue()); break;
case RES_PARATR_NUMRULE: pWhich = "paragraph numbering rule"; oValue = OUStringToOString(static_cast<const SwNumRuleItem*>(pItem)->GetValue(), RTL_TEXTENCODING_UTF8); break;
@@ -378,8 +385,103 @@ void lcl_dumpSfxItemSet(WriterHelper& writer, const SfxItemSet* pSet)
pWhich = "character font size";
const SvxFontHeightItem* pFontHeightItem = static_cast<const SvxFontHeightItem*>(pItem);
oValue = "nHeight: " + OString::number(pFontHeightItem->GetHeight()) + ", nProp: " + OString::number(pFontHeightItem->GetProp());
+ break;
+ }
+ case RES_CNTNT:
+ {
+ pWhich = "frame content";
+ const SwFmtCntnt* pCntnt = static_cast<const SwFmtCntnt*>(pItem);
+ oValue = "node index: " + OString::number(pCntnt->GetCntntIdx()->GetNode().GetIndex());
+ break;
+ }
+ case RES_FRM_SIZE:
+ {
+ pWhich = "frame size";
+ break;
+ }
+ case RES_VERT_ORIENT:
+ {
+ pWhich = "frame vertical orientation";
+ break;
+ }
+ case RES_HORI_ORIENT:
+ {
+ pWhich = "frame horizontal orientation";
+ break;
+ }
+ case RES_ANCHOR:
+ {
+ pWhich = "frame anchor";
+ const SwFmtAnchor* pAnchor = static_cast<const SwFmtAnchor*>(pItem);
+ const SwPosition* pPosition = pAnchor->GetCntntAnchor();
+ if (pPosition)
+ oValue = "node index: " + OString::number(pPosition->nNode.GetNode().GetIndex()) + ", index: " + OString::number(pPosition->nContent.GetIndex());
+ break;
+ }
+ case RES_SURROUND:
+ {
+ pWhich = "frame surround";
+ const SwFmtSurround* pSurround = static_cast<const SwFmtSurround*>(pItem);
+ switch (pSurround->GetSurround())
+ {
+ case SURROUND_NONE:
+ oValue = "none";
+ break;
+ case SURROUND_THROUGHT:
+ oValue = "throught";
+ break;
+ case SURROUND_PARALLEL:
+ oValue = "parallel";
+ break;
+ case SURROUND_IDEAL:
+ oValue = "ideal";
+ break;
+ case SURROUND_LEFT:
+ oValue = "left";
+ break;
+ case SURROUND_RIGHT:
+ oValue = "right";
+ break;
+ case SURROUND_END:
+ oValue = "end";
+ break;
+ }
+ break;
+ }
+ case RES_FOLLOW_TEXT_FLOW:
+ {
+ pWhich = "frame follow text flow";
+ break;
+ }
+ case RES_WRAP_INFLUENCE_ON_OBJPOS:
+ {
+ pWhich = "frame wrap influence on object position";
+ break;
+ }
+ case XATTR_FILLSTYLE:
+ {
+ pWhich = "fill style";
+ const XFillStyleItem* pFillStyleItem = static_cast<const XFillStyleItem*>(pItem);
+ switch (pFillStyleItem->GetValue())
+ {
+ case XFILL_NONE:
+ oValue = "none";
+ break;
+ case XFILL_SOLID:
+ oValue = "solid";
+ break;
+ case XFILL_GRADIENT:
+ oValue = "gradient";
+ break;
+ case XFILL_HATCH:
+ oValue = "hatch";
+ break;
+ case XFILL_BITMAP:
+ oValue = "bitmap";
+ break;
+ }
+ break;
}
- break;
}
if (pWhich)
writer.writeFormatAttribute("which", "%s", BAD_CAST(pWhich));
@@ -390,6 +492,26 @@ void lcl_dumpSfxItemSet(WriterHelper& writer, const SfxItemSet* pSet)
}
}
+void SwFrmFmts::dumpAsXml(xmlTextWriterPtr w)
+{
+ WriterHelper writer(w);
+ if (size())
+ {
+ writer.startElement("swfrmfmts");
+ for (size_t i = 0; i < size(); ++i)
+ {
+ SwFrmFmt* pFmt = static_cast<SwFrmFmt*>(GetFmt(i));
+ writer.startElement("swfrmfmt");
+ OString aName = OUStringToOString(pFmt->GetName(), RTL_TEXTENCODING_UTF8);
+ writer.writeFormatAttribute("name", "%s", BAD_CAST(aName.getStr()));
+
+ lcl_dumpSfxItemSet(writer, &pFmt->GetAttrSet());
+ writer.endElement();
+ }
+ writer.endElement();
+ }
+}
+
void SwCharFmts::dumpAsXml(xmlTextWriterPtr w)
{
WriterHelper writer(w);
commit 44405c95b63fcd4b8b594c47106a7491424cbc40
Author: Tor Lillqvist <tml at collabora.com>
Date: Wed Apr 2 17:12:09 2014 +0300
We use four column indentation steps in this file
Change-Id: I52898b460669ce7afaaeef4d28f36883eb20effa
diff --git a/configure.ac b/configure.ac
index c4b86ff..3726dfa 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5402,23 +5402,23 @@ if test "$GXX" = "yes"; then
dnl see https://code.google.com/p/android/issues/detail?id=41770
if test "$_gpp_majmin" -ge "401"; then
- glibcxx_threads=no
- AC_LANG_PUSH([C++])
- AC_REQUIRE_CPP
- AC_MSG_CHECKING([whether $CXX is broken with boost.thread])
- AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[
- #include <bits/c++config.h>]],[[
- #if !defined(_GLIBCXX_HAVE_GTHR_DEFAULT) \
- && !defined(_GLIBCXX__PTHREADS) \
- && !defined(_GLIBCXX_HAS_GTHREADS)
- choke me
- #endif
- ]])],[AC_MSG_RESULT([yes])
- glibcxx_threads=yes],[AC_MSG_RESULT([no])])
- AC_LANG_POP([C++])
- if test $glibcxx_threads = yes; then
- BOOST_CXXFLAGS="-D_GLIBCXX_HAS_GTHREADS"
- fi
+ glibcxx_threads=no
+ AC_LANG_PUSH([C++])
+ AC_REQUIRE_CPP
+ AC_MSG_CHECKING([whether $CXX is broken with boost.thread])
+ AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[
+ #include <bits/c++config.h>]],[[
+ #if !defined(_GLIBCXX_HAVE_GTHR_DEFAULT) \
+ && !defined(_GLIBCXX__PTHREADS) \
+ && !defined(_GLIBCXX_HAS_GTHREADS)
+ choke me
+ #endif
+ ]])],[AC_MSG_RESULT([yes])
+ glibcxx_threads=yes],[AC_MSG_RESULT([no])])
+ AC_LANG_POP([C++])
+ if test $glibcxx_threads = yes; then
+ BOOST_CXXFLAGS="-D_GLIBCXX_HAS_GTHREADS"
+ fi
fi
fi
AC_SUBST(BOOST_CXXFLAGS)
commit 3ec4b907991d62155801b42acff9d09417fe66ed
Author: Tor Lillqvist <tml at collabora.com>
Date: Wed Apr 2 17:08:16 2014 +0300
Fix g++ version test
Change-Id: I03bb06ddda9f8d54fae926004f5cf55cf5846833
diff --git a/configure.ac b/configure.ac
index cebff52..c4b86ff 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5394,14 +5394,14 @@ if test "$GXX" = "yes"; then
_gpp_version=`$CXX -dumpversion`
_gpp_majmin=`echo $_gpp_version | $AWK -F. '{ print \$1*100+\$2 }'`
- if test "$_gpp_majmin" -lt "410"; then
- AC_MSG_ERROR([You need to use GNU C++ compiler version >= 4.1 to build LibreOffice.])
+ if test "$_gpp_majmin" -lt "401"; then
+ AC_MSG_ERROR([You need to use GNU C++ compiler version >= 4.1 to build LibreOffice, you have $_gpp_version.])
else
AC_MSG_RESULT([checked (g++ $_gpp_version)])
fi
dnl see https://code.google.com/p/android/issues/detail?id=41770
- if test "$_gpp_majmin" -ge "410"; then
+ if test "$_gpp_majmin" -ge "401"; then
glibcxx_threads=no
AC_LANG_PUSH([C++])
AC_REQUIRE_CPP
commit 22dac22fe256b28b78c8e0783f2625aee0f75ace
Author: Winfried Donkers <winfrieddonkers at libreoffice.org>
Date: Thu Mar 27 13:33:15 2014 +0100
fdo#73147 add Excel2010 functions NETWORKDAYS.INTL and WORKDAY.INTL
Change-Id: I3ab9dde5c421a3a3e6022a27be37f23547197317
Reviewed-on: https://gerrit.libreoffice.org/8772
Reviewed-by: Eike Rathke <erack at redhat.com>
Tested-by: Eike Rathke <erack at redhat.com>
diff --git a/formula/source/core/resource/core_resource.src b/formula/source/core/resource/core_resource.src
index 28ecee3..e008f6c 100644
--- a/formula/source/core/resource/core_resource.src
+++ b/formula/source/core/resource/core_resource.src
@@ -385,6 +385,8 @@ Resource RID_STRLIST_FUNCTION_NAMES_ENGLISH_ODFF
String SC_OPCODE_WEEK { Text = "ISOWEEKNUM" ; };
String SC_OPCODE_EASTERSUNDAY { Text = "ORG.OPENOFFICE.EASTERSUNDAY" ; };
String SC_OPCODE_GET_DAY_OF_WEEK { Text = "WEEKDAY" ; };
+ String SC_OPCODE_NETWORKDAYS_MS { Text = "COM.MICROSOFT.NETWORKDAYS.INTL" ; };
+ String SC_OPCODE_WORKDAY_MS { Text = "COM.MICROSOFT.WORKDAY.INTL" ; };
String SC_OPCODE_NO_NAME { Text = "#NAME!" ; };
String SC_OPCODE_STYLE { Text = "ORG.OPENOFFICE.STYLE" ; };
String SC_OPCODE_DDE { Text = "DDE" ; };
@@ -786,6 +788,8 @@ Resource RID_STRLIST_FUNCTION_NAMES_ENGLISH_OOXML
String SC_OPCODE_WEEK { Text = "WEEKNUM" ; };
String SC_OPCODE_EASTERSUNDAY { Text = "EASTERSUNDAY" ; };
String SC_OPCODE_GET_DAY_OF_WEEK { Text = "WEEKDAY" ; };
+ String SC_OPCODE_NETWORKDAYS_MS { Text = "NETWORKDAYS.INTL" ; };
+ String SC_OPCODE_WORKDAY_MS { Text = "WORKDAY.INTL" ; };
String SC_OPCODE_NO_NAME { Text = "#NAME!" ; };
String SC_OPCODE_STYLE { Text = "STYLE" ; };
String SC_OPCODE_DDE { Text = "DDE" ; };
@@ -1189,6 +1193,8 @@ Resource RID_STRLIST_FUNCTION_NAMES_ENGLISH
String SC_OPCODE_WEEK { Text = "WEEKNUM" ; };
String SC_OPCODE_EASTERSUNDAY { Text = "EASTERSUNDAY" ; };
String SC_OPCODE_GET_DAY_OF_WEEK { Text = "WEEKDAY" ; };
+ String SC_OPCODE_NETWORKDAYS_MS { Text = "NETWORKDAYS.INTL" ; };
+ String SC_OPCODE_WORKDAY_MS { Text = "WORKDAY.INTL" ; };
String SC_OPCODE_NO_NAME { Text = "#NAME!" ; };
String SC_OPCODE_STYLE { Text = "STYLE" ; };
String SC_OPCODE_DDE { Text = "DDE" ; };
@@ -2606,6 +2612,14 @@ Resource RID_STRLIST_FUNCTION_NAMES
{
Text [ en-US ] = "WEEKDAY" ;
};
+ String SC_OPCODE_NETWORKDAYS_MS
+ {
+ Text [ en-US ] = "NETWORKDAYS.INTL" ;
+ };
+ String SC_OPCODE_WORKDAY_MS
+ {
+ Text [ en-US ] = "WORKDAY.INTL" ;
+ };
String SC_OPCODE_NO_NAME
{
Text [ en-US ] = "#NAME!" ;
diff --git a/include/formula/compiler.hrc b/include/formula/compiler.hrc
index 23eedf3..47d22aa 100644
--- a/include/formula/compiler.hrc
+++ b/include/formula/compiler.hrc
@@ -463,8 +463,10 @@
#define SC_OPCODE_CEIL_MS 465
#define SC_OPCODE_CEIL_ISO 466
#define SC_OPCODE_FLOOR_MS 467
+#define SC_OPCODE_NETWORKDAYS_MS 468
+#define SC_OPCODE_WORKDAY_MS 469
-#define SC_OPCODE_STOP_2_PAR 468 /* last function with two or more parameters' OpCode + 1 */
+#define SC_OPCODE_STOP_2_PAR 470 /* last function with two or more parameters' OpCode + 1 */
#define SC_OPCODE_STOP_FUNCTION SC_OPCODE_STOP_2_PAR /* last function's OpCode + 1 */
#define SC_OPCODE_LAST_OPCODE_ID (SC_OPCODE_STOP_FUNCTION - 1) /* last OpCode */
diff --git a/include/formula/opcode.hxx b/include/formula/opcode.hxx
index 13daeff..4239c53 100644
--- a/include/formula/opcode.hxx
+++ b/include/formula/opcode.hxx
@@ -436,6 +436,8 @@ enum OpCodeEnum
// miscellaneous
ocWeek = SC_OPCODE_WEEK,
ocGetDayOfWeek = SC_OPCODE_GET_DAY_OF_WEEK,
+ ocNetWorkdays_MS = SC_OPCODE_NETWORKDAYS_MS,
+ ocWorkday_MS = SC_OPCODE_WORKDAY_MS,
ocNoName = SC_OPCODE_NO_NAME,
ocStyle = SC_OPCODE_STYLE,
ocDde = SC_OPCODE_DDE,
diff --git a/sc/inc/helpids.h b/sc/inc/helpids.h
index bc28f46..2aa8e60 100644
--- a/sc/inc/helpids.h
+++ b/sc/inc/helpids.h
@@ -702,5 +702,7 @@
#define HID_FUNC_CEIL_MS "SC_HID_FUNC_CEIL_MS"
#define HID_FUNC_CEIL_ISO "SC_HID_FUNC_CEIL_ISO"
#define HID_FUNC_FLOOR_MS "SC_HID_FUNC_FLOOR_MS"
+#define HID_FUNC_NETWORKDAYS_MS "SC_HID_FUNC_NETWORKDAYS_MS"
+#define HID_FUNC_WORKDAY_MS "SC_HID_FUNC_WORKDAY_MS"
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/qa/unit/subsequent_filters-test.cxx b/sc/qa/unit/subsequent_filters-test.cxx
index 9d0368d..1e08cf7 100644
--- a/sc/qa/unit/subsequent_filters-test.cxx
+++ b/sc/qa/unit/subsequent_filters-test.cxx
@@ -465,7 +465,7 @@ void ScFiltersTest::testFunctionsExcel2010()
{ 40, true },
{ 41, true },
{ 42, true },
- { 43, false },
+ { 43, false }, // fdo73147 to be set to true
{ 44, true },
{ 45, true },
{ 46, true },
@@ -494,7 +494,7 @@ void ScFiltersTest::testFunctionsExcel2010()
{ 69, true },
{ 70, true },
{ 71, true },
- { 72, false },
+ { 72, false }, // fdo73147 to be set to true
{ 73, true }
};
@@ -505,12 +505,24 @@ void ScFiltersTest::testFunctionsExcel2010()
// Column A is description, B is formula, C is Excel result, D is
// comparison.
SCROW nRow = aTests[i].nRow - 1; // 0-based
+
+ OString aStr = OString::number( aTests[i].nRow) +
+ ", function name=[ " +
+ OUStringToOString( pDoc->GetString( ScAddress( 0, nRow, 0)), RTL_TEXTENCODING_UTF8 ) +
+ " ], result=" +
+ OString::number( pDoc->GetValue( ScAddress( 1, nRow, 0)) ) +
+ ", expected=" +
+ OString::number( pDoc->GetValue( ScAddress( 2, nRow, 0)) );
+
+ ScFormulaCell* pFC = pDoc->GetFormulaCell( ScAddress( 1, nRow, 0) );
+ if ( pFC && pFC->GetErrCode() != 0 )
+ aStr += ", error code =" + OString::number( pFC->GetErrCode() );
+
CPPUNIT_ASSERT_MESSAGE( OString( "Expected a formula cell without error at row " +
- OString::number( aTests[i].nRow)).getStr(),
- isFormulaWithoutError( *pDoc, ScAddress( 1, nRow, 0)));
+ aStr ).getStr(), isFormulaWithoutError( *pDoc, ScAddress( 1, nRow, 0)));
CPPUNIT_ASSERT_MESSAGE( OString( "Expected a TRUE value at row " +
- OString::number( aTests[i].nRow)).getStr(),
- 0 != pDoc->GetValue( ScAddress( 3, nRow, 0)));
+ aStr ).getStr(), 0 != pDoc->GetValue( ScAddress( 3, nRow, 0)));
+
}
}
diff --git a/sc/qa/unit/ucalc.cxx b/sc/qa/unit/ucalc.cxx
index 7bb90ca..f670e9c 100644
--- a/sc/qa/unit/ucalc.cxx
+++ b/sc/qa/unit/ucalc.cxx
@@ -2374,6 +2374,7 @@ void Test::testFunctionLists()
"HOUR",
"MINUTE",
"MONTH",
+ "NETWORKDAYS.INTL",
"NOW",
"SECOND",
"TIME",
@@ -2381,6 +2382,7 @@ void Test::testFunctionLists()
"TODAY",
"WEEKDAY",
"WEEKNUM",
+ "WORKDAY.INTL",
"YEAR",
0
};
diff --git a/sc/source/core/inc/interpre.hxx b/sc/source/core/inc/interpre.hxx
index bfebfd4..e0e36ed 100644
--- a/sc/source/core/inc/interpre.hxx
+++ b/sc/source/core/inc/interpre.hxx
@@ -32,6 +32,7 @@
#include "token.hxx"
#include <map>
+#include <vector>
class ScDocument;
class SbxVariable;
@@ -589,6 +590,10 @@ void ScGetDay();
void ScGetDayOfWeek();
void ScGetWeekOfYear();
void ScEasterSunday();
+sal_uInt16 GetWeekendAndHolidayMasks( const sal_uInt8 nParamCount, const Date& rNullDate,
+ ::std::vector<double>& rSortArray, OUString& rWeekendDays, bool bWeekendMask[ 7 ] );
+void ScNetWorkdays_MS();
+void ScWorkday_MS();
void ScGetHour();
void ScGetMin();
void ScGetSec();
diff --git a/sc/source/core/tool/interpr2.cxx b/sc/source/core/tool/interpr2.cxx
index 0c38865..85707a2 100644
--- a/sc/source/core/tool/interpr2.cxx
+++ b/sc/source/core/tool/interpr2.cxx
@@ -50,6 +50,7 @@
#include <string.h>
#include <math.h>
+using ::std::vector;
using namespace com::sun::star;
using namespace formula;
@@ -247,6 +248,201 @@ void ScInterpreter::ScEasterSunday()
}
}
+sal_uInt16 ScInterpreter::GetWeekendAndHolidayMasks(
+ const sal_uInt8 nParamCount, const Date& rNullDate, vector< double >& rSortArray,
+ OUString& rWeekendDays, bool bWeekendMask[ 7 ] )
+{
+ sal_uInt16 nErr = 0;
+ if ( nParamCount == 4 )
+ {
+ GetSortArray( 1, rSortArray );
+ size_t nMax = rSortArray.size();
+ for ( size_t i = 0; i < nMax; i++ )
+ {
+ Date aTempDate( rNullDate );
+ aTempDate += ::rtl::math::approxFloor( rSortArray.at( i ) );
+ rSortArray.at( i ) = aTempDate.GetDate();
+ }
+ }
+
+ if ( nParamCount >= 3 )
+ rWeekendDays = GetString().getString();
+
+ for ( int i = 0; i < 7; i++ )
+ bWeekendMask[ i] = false;
+
+ if ( rWeekendDays.isEmpty() )
+ {
+ bWeekendMask[ SATURDAY ] = true;
+ bWeekendMask[ SUNDAY ] = true;
+ }
+ else
+ {
+ switch ( rWeekendDays.getLength() )
+ {
+ case 1 :
+ // Weekend days defined by code
+ switch ( rWeekendDays[ 0 ] )
+ {
+ case '1' : bWeekendMask[ SATURDAY ] = true; bWeekendMask[ SUNDAY ] = true; break;
+ case '2' : bWeekendMask[ SUNDAY ] = true; bWeekendMask[ MONDAY ] = true; break;
+ case '3' : bWeekendMask[ MONDAY ] = true; bWeekendMask[ TUESDAY ] = true; break;
+ case '4' : bWeekendMask[ TUESDAY ] = true; bWeekendMask[ WEDNESDAY ] = true; break;
+ case '5' : bWeekendMask[ WEDNESDAY ] = true; bWeekendMask[ THURSDAY ] = true; break;
+ case '6' : bWeekendMask[ THURSDAY ] = true; bWeekendMask[ FRIDAY ] = true; break;
+ case '7' : bWeekendMask[ FRIDAY ] = true; bWeekendMask[ SATURDAY ] = true; break;
+ default : nErr = errIllegalArgument; break;
+ }
+ break;
+ case 2 :
+ // Weekend day defined by code
+ if ( rWeekendDays[ 0 ] == '1' )
+ {
+ switch ( rWeekendDays[ 1 ] )
+ {
+ case '1' : bWeekendMask[ SUNDAY ] = true; break;
+ case '2' : bWeekendMask[ MONDAY ] = true; break;
+ case '3' : bWeekendMask[ TUESDAY ] = true; break;
+ case '4' : bWeekendMask[ WEDNESDAY ] = true; break;
+ case '5' : bWeekendMask[ THURSDAY ] = true; break;
+ case '6' : bWeekendMask[ FRIDAY ] = true; break;
+ case '7' : bWeekendMask[ SATURDAY ] = true; break;
+ default : nErr = errIllegalArgument; break;
+ }
+ }
+ else
+ nErr = errIllegalArgument;
+ break;
+ case 7 :
+ // Weekend days defined by string
+ for ( int i = 0; i < 7 && !nErr; i++ )
+ {
+ switch ( rWeekendDays[ i ] )
+ {
+ case '0' : bWeekendMask[ i ] = false; break;
+ case '1' : bWeekendMask[ i ] = true; break;
+ default : nErr = errIllegalArgument; break;
+ }
+ }
+ break;
+ default :
+ nErr = errIllegalArgument;
+ break;
+ }
+ }
+ return nErr;
+}
+
+void ScInterpreter::ScNetWorkdays_MS()
+{
+ sal_uInt8 nParamCount = GetByte();
+ if ( MustHaveParamCount( nParamCount, 2, 4 ) )
+ {
+ vector<double> nSortArray;
+ bool bWeekendMask[ 7 ];
+ OUString aWeekendDays;
+ Date aNullDate = *( pFormatter->GetNullDate() );
+ sal_uInt16 nErr = GetWeekendAndHolidayMasks( nParamCount, aNullDate,
+ nSortArray , aWeekendDays, bWeekendMask );
+ if ( nErr )
+ PushError( nErr );
+ else
+ {
+ double nDate2 = GetDouble();
+ double nDate1 = GetDouble();
+ Date aDate2( aNullDate );
+ aDate2 += ( long )::rtl::math::approxFloor( nDate2 );
+ Date aDate1( aNullDate );
+ aDate1 += ( long )::rtl::math::approxFloor( nDate1 );
+
+ sal_Int32 nCnt = 0;
+ size_t nRef = 0;
+ bool bReverse = ( aDate1 > aDate2 );
+ if ( bReverse )
+ {
+ Date aTempDate( aDate1 );
+ aDate1 = aDate2;
+ aDate2 = aTempDate;
+ }
+ size_t nMax = nSortArray.size();
+ while ( aDate1 <= aDate2 )
+ {
+ if ( !bWeekendMask[ aDate1.GetDayOfWeek() ] )
+ {
+ while ( nRef < nMax && nSortArray.at( nRef ) < aDate1.GetDate() )
+ nRef++;
+ if ( !( nRef < nMax && nSortArray.at( nRef ) == aDate1.GetDate() ) )
+ nCnt++;
+ }
+ ++aDate1;
+ }
+ PushDouble( ( double ) ( bReverse ? -nCnt : nCnt ) );
+ }
+ }
+}
+
+void ScInterpreter::ScWorkday_MS()
+{
+ sal_uInt8 nParamCount = GetByte();
+ if ( MustHaveParamCount( nParamCount, 2, 4 ) )
+ {
+ nFuncFmtType = NUMBERFORMAT_DATE;
+ vector<double> nSortArray;
+ bool bWeekendMask[ 7 ];
+ OUString aWeekendDays;
+ Date aNullDate = *( pFormatter->GetNullDate() );
+ sal_uInt16 nErr = GetWeekendAndHolidayMasks( nParamCount, aNullDate,
+ nSortArray , aWeekendDays, bWeekendMask );
+ if ( nErr )
+ PushError( nErr );
+ else
+ {
+ sal_Int32 nDays = ::rtl::math::approxFloor( GetDouble() );
+ double nDate = GetDouble();
+ Date aDate( aNullDate );
+ aDate += ( long )::rtl::math::approxFloor( nDate );
+
+ if ( !nDays )
+ PushDouble( ( double ) ( aDate - aNullDate ) );
+ else
+ {
+ size_t nMax = nSortArray.size();
+ if ( nDays > 0 )
+ {
+ size_t nRef = 0;
+ while ( nDays )
+ {
+ while ( nRef < nMax && nSortArray.at( nRef ) < aDate.GetDate() )
+ nRef++;
+ if ( !( nRef < nMax && nSortArray.at( nRef ) == aDate.GetDate() ) || nRef >= nMax )
+ nDays--;
+
+ do
+ ++aDate;
+ while ( bWeekendMask[ aDate.GetDayOfWeek() ] ); //jump over weekend day(s)
+ }
+ }
+ else
+ {
+ sal_Int16 nRef = nMax - 1;
+ while ( nDays )
+ {
+ while ( nRef >= 0 && nSortArray.at( nRef ) > aDate.GetDate() )
+ nRef--;
+ if ( !( nRef >= 0 && nSortArray.at( nRef ) == aDate.GetDate() ) || nRef < 0 )
+ nDays++;
+
+ do
+ --aDate;
+ while ( bWeekendMask[ aDate.GetDayOfWeek() ] ); //jump over weekend day(s)
+ }
+ }
+ PushDouble( ( double ) ( aDate - aNullDate ) );
+ }
+ }
+ }
+}
+
void ScInterpreter::ScGetDate()
{
nFuncFmtType = NUMBERFORMAT_DATE;
diff --git a/sc/source/core/tool/interpr4.cxx b/sc/source/core/tool/interpr4.cxx
index c641b7a..1048c1a 100644
--- a/sc/source/core/tool/interpr4.cxx
+++ b/sc/source/core/tool/interpr4.cxx
@@ -3978,6 +3978,8 @@ StackVar ScInterpreter::Interpret()
case ocGetDayOfWeek : ScGetDayOfWeek(); break;
case ocWeek : ScGetWeekOfYear(); break;
case ocEasterSunday : ScEasterSunday(); break;
+ case ocNetWorkdays_MS : ScNetWorkdays_MS(); break;
+ case ocWorkday_MS : ScWorkday_MS(); break;
case ocGetHour : ScGetHour(); break;
case ocGetMin : ScGetMin(); break;
case ocGetSec : ScGetSec(); break;
diff --git a/sc/source/core/tool/parclass.cxx b/sc/source/core/tool/parclass.cxx
index 2b74084..b19b361 100644
--- a/sc/source/core/tool/parclass.cxx
+++ b/sc/source/core/tool/parclass.cxx
@@ -208,6 +208,8 @@ const ScParameterClassification::RawData ScParameterClassification::pRawData[] =
{ ocXor, {{ Reference }, 1 }},
{ ocZTest, {{ Reference, Value, Value }, 0 }},
{ ocZTest_MS, {{ Reference, Value, Value }, 0 }},
+ { ocNetWorkdays_MS, {{ Value, Value, Value, Reference }, 0 }},
+ { ocWorkday_MS, {{ Value, Value, Value, Reference }, 0 }},
// Excel doubts:
// ocN, ocT: Excel says (and handles) Reference, error? This means no
// position dependent SingleRef if DoubleRef, and no array calculation,
diff --git a/sc/source/filter/excel/xlformula.cxx b/sc/source/filter/excel/xlformula.cxx
index c000ff1..e7222a7 100644
--- a/sc/source/filter/excel/xlformula.cxx
+++ b/sc/source/filter/excel/xlformula.cxx
@@ -398,8 +398,11 @@ static const XclFunctionInfo saFuncTable_Oox[] =
{ ocAverageIfs, 255, 4, MX, V, { RO_E, RO, RO, VR }, EXC_FUNCFLAG_EXPORTONLY|EXC_FUNCFLAG_PARAMPAIRS, EXC_FUNCNAME( "AVERAGEIFS" ) },
{ ocIfError, NOID, 2, 2, V, { VO, RO }, EXC_FUNCFLAG_IMPORTONLY, EXC_FUNCNAME( "IFERROR" ) },
{ ocIfError, 255, 3, 3, V, { RO_E, VO, RO }, EXC_FUNCFLAG_EXPORTONLY, EXC_FUNCNAME( "IFERROR" ) },
-
- EXC_FUNCENTRY_V_VR( ocCeil_ISO, 2, 2, 0, "ISO.CEILING" ),
+ { ocNetWorkdays_MS, NOID, 2, 4, V, { VR, VR, VR, RO }, EXC_FUNCFLAG_IMPORTONLY, EXC_FUNCNAME( "NETWORKDAYS.INTL" ) },
+ { ocNetWorkdays_MS, 255, 3, 5, V, { RO_E, VR, VR, VR, RO }, EXC_FUNCFLAG_EXPORTONLY, EXC_FUNCNAME( "NETWORKDAYS.INTL" ) },
+ { ocWorkday_MS, NOID, 2, 4, V, { VR, VR, VR, RO }, EXC_FUNCFLAG_IMPORTONLY, EXC_FUNCNAME( "NETWORKDAYS.INTL" ) },
+ { ocWorkday_MS, 255, 3, 5, V, { RO_E, VR, VR, VR, RO }, EXC_FUNCFLAG_EXPORTONLY, EXC_FUNCNAME( "NETWORKDAYS.INTL" ) },
+ EXC_FUNCENTRY_V_VR( ocCeil_ISO, 2, 2, 0, "ISO.CEILING" )
};
@@ -486,7 +489,7 @@ static const XclFunctionInfo saFuncTable_2010[] =
EXC_FUNCENTRY_V_VR( ocNegBinomDist_MS, 4, 4, 0, "NEGBINOM.DIST" ),
EXC_FUNCENTRY_V_VR( ocZTest_MS, 2, 3, 0, "Z.TEST" ),
EXC_FUNCENTRY_V_VR( ocCeil_MS, 2, 2, 0, "CEILING.PRECISE" ),
- EXC_FUNCENTRY_V_VR( ocFloor_MS, 2, 2, 0, "FLOOR.PRECISE" )
+ EXC_FUNCENTRY_V_VR( ocFloor_MS, 2, 2, 0, "FLOOR.PRECISE" ),
};
/** Functions new in Excel 2013.
diff --git a/sc/source/filter/oox/formulabase.cxx b/sc/source/filter/oox/formulabase.cxx
index b44f605..25021e8 100644
--- a/sc/source/filter/oox/formulabase.cxx
+++ b/sc/source/filter/oox/formulabase.cxx
@@ -726,7 +726,9 @@ static const FunctionData saFuncTableOox[] =
{ "SUMIFS", "SUMIFS", 482, NOID, 3, MX, V, { RO, RO, VR }, FUNCFLAG_MACROCALL | FUNCFLAG_PARAMPAIRS },
{ "AVERAGEIF", "AVERAGEIF", 483, NOID, 2, 3, V, { RO, VR, RO }, FUNCFLAG_MACROCALL },
{ "AVERAGEIFS", "AVERAGEIFS", 484, NOID, 3, MX, V, { RO, RO, VR }, FUNCFLAG_MACROCALL | FUNCFLAG_PARAMPAIRS },
- { "COM.MICROSOFT.ISO.CEILING", "ISO.CEILING", NOID, NOID, 2, 2, V, { VR }, FUNCFLAG_MACROCALL }
+ { "COM.MICROSOFT.ISO.CEILING", "ISO.CEILING", NOID, NOID, 2, 2, V, { VR }, FUNCFLAG_MACROCALL },
+ { "COM.MICROSOFT.NETWORKDAYS.INTL", "NETWORKDAYS.INTL", NOID, NOID, 2, 4, V, { VR, VR, VR, RX }, FUNCFLAG_MACROCALL },
+ { "COM.MICROSOFT.WORKDAY.INTL", "WORKDAY.INTL", NOID, NOID, 2, 4, V, { VR, VR, VR, RX }, FUNCFLAG_MACROCALL }
};
/** Functions new in Excel 2010.
@@ -802,7 +804,7 @@ static const FunctionData saFuncTable2010[] =
{ "COM.MICROSOFT.NEGBINOM.DIST", "NEGBINOM.DIST", NOID, NOID, 4, 4, V, { VR }, FUNCFLAG_MACROCALL_NEW },
{ "COM.MICROSOFT.Z.TEST", "Z.TEST", NOID, NOID, 2, 3, V, { RX, VR }, FUNCFLAG_MACROCALL_NEW },
{ "COM.MICROSOFT.CEILING.PRECISE", "CEILING.PRECISE", NOID, NOID, 2, 2, V, { VR }, FUNCFLAG_MACROCALL_NEW },
- { "COM.MICROSOFT.FLOOR.PRECISE", "FLOOR.PRECISE", NOID, NOID, 2, 2, V, { VR }, FUNCFLAG_MACROCALL_NEW }
+ { "COM.MICROSOFT.FLOOR.PRECISE", "FLOOR.PRECISE", NOID, NOID, 2, 2, V, { VR }, FUNCFLAG_MACROCALL_NEW },
};
/** Functions new in Excel 2013.
diff --git a/sc/source/ui/src/scfuncs.src b/sc/source/ui/src/scfuncs.src
index e3d1525..3e35e79 100644
--- a/sc/source/ui/src/scfuncs.src
+++ b/sc/source/ui/src/scfuncs.src
@@ -686,6 +686,102 @@ Resource RID_SC_FUNCTION_DESCRIPTIONS1
Text [ en-US ] = "Method used to form differences: Type = 0 denotes US method (NASD), Type = 1 denotes the European method." ;
};
};
+ // -=*# Resource for function NETWORKDAYS.INTL #*=-
+ Resource SC_OPCODE_NETWORKDAYS_MS
+ {
+ String 1 // Description
+ {
+ Text [ en-US ] = "Returns the number of workdays between two dates using arguments to indicate weekenddays and holidays." ;
+ };
+ ExtraData =
+ {
+ 0;
+ ID_FUNCTION_GRP_DATETIME;
+ U2S( HID_FUNC_NETWORKDAYS_MS );
+ 4; 0; 0; 1; 1;
+ 0;
+ };
+ String 2 // Name of Parameter 1
+ {
+ Text [ en-US ] = "Start Date" ;
+ };
+ String 3 // Description of Parameter 1
+ {
+ Text [ en-US ] = "Start date for calculation." ;
+ };
+ String 4 // Name of Parameter 2
+ {
+ Text [ en-US ] = "End Date" ;
+ };
+ String 5 // Description of Parameter 2
+ {
+ Text [ en-US ] = "End date for calculation." ;
+ };
+ String 6 // Name of Parameter 3
+ {
+ Text [ en-US ] = "number or string" ;
+ };
+ String 7 // Description of Parameter 3
+ {
+ Text [ en-US ] = "Optional number or string to indicate to indicate when weekends occur. When omitted, weekend is Saturday and Sunday." ;
+ };
+ String 8 // Name of Parameter 4
+ {
+ Text [ en-US ] = "array" ;
+ };
+ String 9 // Description of Parameter 4
+ {
+ Text [ en-US ] = "Optional set of one or more dates to be considered as holiday." ;
+ };
+ };
+ // -=*# Resource for function WORKDAY.INTL #*=-
+ Resource SC_OPCODE_WORKDAY_MS
+ {
+ String 1 // Description
+ {
+ Text [ en-US ] = "Returns the serial number of the date before or after a number of workdays using arguments to indicate weekenddays and holidays." ;
+ };
+ ExtraData =
+ {
+ 0;
+ ID_FUNCTION_GRP_DATETIME;
+ U2S( HID_FUNC_WORKDAY_MS );
+ 4; 0; 0; 1; 1;
+ 0;
+ };
+ String 2 // Name of Parameter 1
+ {
+ Text [ en-US ] = "Start Date" ;
+ };
+ String 3 // Description of Parameter 1
+ {
+ Text [ en-US ] = "Start date for calculation." ;
+ };
+ String 4 // Name of Parameter 2
+ {
+ Text [ en-US ] = "Days" ;
+ };
+ String 5 // Description of Parameter 2
+ {
+ Text [ en-US ] = "RThe number of workdays before or after start date." ;
+ };
+ String 6 // Name of Parameter 3
+ {
+ Text [ en-US ] = "number or string" ;
+ };
+ String 7 // Description of Parameter 3
+ {
+ Text [ en-US ] = "Optional number or string to indicate to indicate when weekends occur. When omitted, weekend is Saturday and Sunday." ;
+ };
+ String 8 // Name of Parameter 4
+ {
+ Text [ en-US ] = "array" ;
+ };
+ String 9 // Description of Parameter 4
+ {
+ Text [ en-US ] = "Optional set of one or more dates to be considered as holiday." ;
+ };
+ };
// -=*# Resource for function STUNDE #*=-
Resource SC_OPCODE_GET_HOUR
{
commit 50bf123ddbeb457b89636621a99c971834adf3ab
Author: Tor Lillqvist <tml at collabora.com>
Date: Wed Apr 2 16:45:44 2014 +0300
Kill superfluous vertical whitespace
Change-Id: I81ce8fd7022bf283db668705efdfb0666f87bde9
diff --git a/vcl/android/androidinst.cxx b/vcl/android/androidinst.cxx
index 25f8853..21d9007 100644
--- a/vcl/android/androidinst.cxx
+++ b/vcl/android/androidinst.cxx
@@ -293,7 +293,6 @@ SalFrame *AndroidSalInstance::CreateFrame( SalFrame* pParent, sal_uLong nStyle )
return new AndroidSalFrame( this, pParent, nStyle, NULL );
}
-
// All the interesting stuff is slaved from the AndroidSalInstance
void InitSalData() {}
void DeInitSalData() {}
diff --git a/vcl/generic/app/gendisp.cxx b/vcl/generic/app/gendisp.cxx
index 0e197c1..1275465 100644
--- a/vcl/generic/app/gendisp.cxx
+++ b/vcl/generic/app/gendisp.cxx
@@ -21,7 +21,6 @@
#include <generic/gendisp.hxx>
#include <generic/geninst.h>
-
SalGenericDisplay::SalGenericDisplay()
{
m_pCapture = NULL;
@@ -145,6 +144,4 @@ bool SalGenericDisplay::HasUserEvents() const
return bRet;
}
-
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/generic/app/geninst.cxx b/vcl/generic/app/geninst.cxx
index 1bb9fa4..cf2f301 100644
--- a/vcl/generic/app/geninst.cxx
+++ b/vcl/generic/app/geninst.cxx
@@ -26,12 +26,8 @@
#include "generic/geninst.h"
-
-
// SalYieldMutex
-
-
SalYieldMutex::SalYieldMutex()
{
mnCount = 0;
diff --git a/vcl/generic/fontmanager/fontcache.cxx b/vcl/generic/fontmanager/fontcache.cxx
index ea5b443..8a0f809 100644
--- a/vcl/generic/fontmanager/fontcache.cxx
+++ b/vcl/generic/fontmanager/fontcache.cxx
@@ -17,7 +17,6 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-
#include <cstdlib>
#include <cstring>
@@ -45,7 +44,6 @@ using namespace std;
using namespace psp;
using namespace utl;
-
/*
* FontCache constructor
*/
@@ -247,7 +245,6 @@ void FontCache::read()
return;
}
-
OString aLine;
aStream.ReadLine( aLine );
if ( !(aLine == CACHE_MAGIC) )
diff --git a/vcl/generic/fontmanager/fontconfig.cxx b/vcl/generic/fontmanager/fontconfig.cxx
index e145c68..05581c5 100644
--- a/vcl/generic/fontmanager/fontconfig.cxx
+++ b/vcl/generic/fontmanager/fontconfig.cxx
@@ -17,7 +17,6 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-
#include "fontcache.hxx"
#include "impfont.hxx"
#include "fontmanager.hxx"
diff --git a/vcl/generic/fontmanager/fontmanager.cxx b/vcl/generic/fontmanager/fontmanager.cxx
index e5854a3..12bc307 100644
--- a/vcl/generic/fontmanager/fontmanager.cxx
+++ b/vcl/generic/fontmanager/fontmanager.cxx
@@ -50,7 +50,6 @@
#include "i18nlangtag/mslangid.hxx"
-
#include "parseAFM.hxx"
#include "sft.hxx"
@@ -108,8 +107,6 @@ inline sal_uInt32 getUInt32BE( const sal_uInt8*& pBuffer )
return nRet;
}
-
-
static FontWeight parseWeight( const OString& rWeight )
{
FontWeight eWeight = WEIGHT_DONTKNOW;
@@ -173,21 +170,15 @@ PrintFontManager::PrintFont::PrintFont( fonttype::type eType ) :
{
}
-
-
PrintFontManager::PrintFont::~PrintFont()
{
delete m_pMetrics;
}
-
-
PrintFontManager::Type1FontFile::~Type1FontFile()
{
}
-
-
PrintFontManager::TrueTypeFontFile::TrueTypeFontFile()
: PrintFont( fonttype::TrueType )
, m_nDirectory( 0 )
@@ -195,21 +186,15 @@ PrintFontManager::TrueTypeFontFile::TrueTypeFontFile()
, m_nTypeFlags( TYPEFLAG_INVALID )
{}
-
-
PrintFontManager::TrueTypeFontFile::~TrueTypeFontFile()
{
}
-
-
bool PrintFontManager::Type1FontFile::queryMetricPage( int /*nPage*/, MultiAtomProvider* pProvider )
{
return readAfmMetrics( pProvider, false, false );
}
-
-
bool PrintFontManager::TrueTypeFontFile::queryMetricPage( int nPage, MultiAtomProvider* /*pProvider*/ )
{
bool bSuccess = false;
@@ -275,8 +260,6 @@ bool PrintFontManager::TrueTypeFontFile::queryMetricPage( int nPage, MultiAtomPr
return bSuccess;
}
-
-
/* #i73387# There seem to be fonts with a rather unwell chosen family name
* consider e.g. "Helvetica Narrow" which defines its family as "Helvetica"
* It can really only be distinguished by its PSName and FullName. Both of
@@ -664,8 +647,6 @@ PrintFontManager& PrintFontManager::get()
return *pManager;
}
-
-
/*
* the PrintFontManager
*/
@@ -691,8 +672,6 @@ PrintFontManager::PrintFontManager()
m_aFontInstallerTimer.SetTimeout(5000);
}
-
-
PrintFontManager::~PrintFontManager()
{
m_aFontInstallerTimer.Stop();
@@ -703,16 +682,12 @@ PrintFontManager::~PrintFontManager()
delete m_pFontCache;
}
-
-
OString PrintFontManager::getDirectory( int nAtom ) const
{
::boost::unordered_map< int, OString >::const_iterator it( m_aAtomToDir.find( nAtom ) );
return it != m_aAtomToDir.end() ? it->second : OString();
}
-
-
int PrintFontManager::getDirectoryAtom( const OString& rDirectory, bool bCreate )
{
int nAtom = 0;
@@ -729,8 +704,6 @@ int PrintFontManager::getDirectoryAtom( const OString& rDirectory, bool bCreate
return nAtom;
}
-
-
std::vector<fontID> PrintFontManager::addFontFile( const OString& rFileName )
{
rtl_TextEncoding aEncoding = osl_getThreadTextEncoding();
@@ -919,8 +892,6 @@ bool PrintFontManager::analyzeFontFile( int nDirID, const OString& rFontFile, ::
return ! rNewFonts.empty();
}
-
-
fontID PrintFontManager::findFontFileID( int nDirID, const OString& rFontFile, int nFaceIndex ) const
{
fontID nID = 0;
@@ -999,8 +970,6 @@ std::vector<fontID> PrintFontManager::findFontFileIDs( int nDirID, const OString
return aIds;
}
-
-
OUString PrintFontManager::convertTrueTypeName( void* pRecord ) const
{
NameRecord* pNameRecord = (NameRecord*)pRecord;
@@ -1085,8 +1054,6 @@ namespace
}
}
-
-
void PrintFontManager::analyzeTrueTypeFamilyName( void* pTTFont, ::std::list< OUString >& rNames ) const
{
OUString aFamily;
@@ -1140,8 +1107,6 @@ void PrintFontManager::analyzeTrueTypeFamilyName( void* pTTFont, ::std::list< OU
return;
}
-
-
bool PrintFontManager::analyzeTrueTypeFile( PrintFont* pFont ) const
{
bool bSuccess = false;
@@ -1436,7 +1401,6 @@ void PrintFontManager::initialize()
aStep1 = times( &tms );
#endif
-
// part three - fill in family styles
::boost::unordered_map< fontID, PrintFont* >::iterator font_it;
for (font_it = m_aFonts.begin(); font_it != m_aFonts.end(); ++font_it)
@@ -1467,8 +1431,6 @@ void PrintFontManager::initialize()
#endif
}
-
-
void PrintFontManager::getFontList( ::std::list< fontID >& rFontIDs )
{
rFontIDs.clear();
@@ -1478,8 +1440,6 @@ void PrintFontManager::getFontList( ::std::list< fontID >& rFontIDs )
rFontIDs.push_back( it->first );
}
-
-
void PrintFontManager::fillPrintFontInfo( PrintFont* pFont, FastPrintFontInfo& rInfo ) const
{
::boost::unordered_map< int, FontFamily >::const_iterator style_it =
@@ -1502,8 +1462,6 @@ void PrintFontManager::fillPrintFontInfo( PrintFont* pFont, FastPrintFontInfo& r
rInfo.m_aAliases.push_back( m_pAtoms->getString( ATOM_FAMILYNAME, *it ) );
}
-
-
void PrintFontManager::fillPrintFontInfo( PrintFont* pFont, PrintFontInfo& rInfo ) const
{
if( ( pFont->m_nAscend == 0 && pFont->m_nDescend == 0 ) ||
@@ -1525,8 +1483,6 @@ void PrintFontManager::fillPrintFontInfo( PrintFont* pFont, PrintFontInfo& rInfo
rInfo.m_nWidth = pFont->m_aGlobalMetricX.width < pFont->m_aGlobalMetricY.width ? pFont->m_aGlobalMetricY.width : pFont->m_aGlobalMetricX.width;
}
-
-
bool PrintFontManager::getFontInfo( fontID nFontID, PrintFontInfo& rInfo ) const
{
PrintFont* pFont = getFont( nFontID );
@@ -1538,8 +1494,6 @@ bool PrintFontManager::getFontInfo( fontID nFontID, PrintFontInfo& rInfo ) const
return pFont ? true : false;
}
-
-
bool PrintFontManager::getFontFastInfo( fontID nFontID, FastPrintFontInfo& rInfo ) const
{
PrintFont* pFont = getFont( nFontID );
@@ -1551,8 +1505,6 @@ bool PrintFontManager::getFontFastInfo( fontID nFontID, FastPrintFontInfo& rInfo
return pFont ? true : false;
}
-
-
bool PrintFontManager::getFontBoundingBox( fontID nFontID, int& xMin, int& yMin, int& xMax, int& yMax )
{
bool bSuccess = false;
@@ -1576,8 +1528,6 @@ bool PrintFontManager::getFontBoundingBox( fontID nFontID, int& xMin, int& yMin,
return bSuccess;
}
-
-
int PrintFontManager::getFontFaceNumber( fontID nFontID ) const
{
int nRet = 0;
@@ -1589,9 +1539,6 @@ int PrintFontManager::getFontFaceNumber( fontID nFontID ) const
return nRet;
}
-
-
-
FontFamily PrintFontManager::matchFamilyName( const OUString& rFamily ) const
{
typedef struct {
@@ -1657,8 +1604,6 @@ FontFamily PrintFontManager::matchFamilyName( const OUString& rFamily ) const
return FAMILY_DONTKNOW;
}
-
-
OString PrintFontManager::getAfmFile( PrintFont* pFont ) const
{
OString aMetricPath;
@@ -1680,8 +1625,6 @@ OString PrintFontManager::getAfmFile( PrintFont* pFont ) const
return aMetricPath;
}
-
-
OString PrintFontManager::getFontFile( PrintFont* pFont ) const
{
OString aPath;
@@ -1705,8 +1648,6 @@ OString PrintFontManager::getFontFile( PrintFont* pFont ) const
return aPath;
}
-
-
const OUString& PrintFontManager::getPSName( fontID nFontID ) const
{
PrintFont* pFont = getFont( nFontID );
@@ -1774,8 +1715,6 @@ void PrintFontManager::hasVerticalSubstitutions( fontID nFontID,
}
}
-
-
bool PrintFontManager::isFontDownloadingAllowedForPrinting( fontID nFont ) const
{
static const char* pEnable = getenv( "PSPRINT_ENABLE_TTF_COPYRIGHTAWARENESS" );
@@ -1812,8 +1751,6 @@ bool PrintFontManager::isFontDownloadingAllowedForPrinting( fontID nFont ) const
return bRet;
}
-
-
bool PrintFontManager::getMetrics( fontID nFontID, const sal_Unicode* pString, int nLen, CharacterMetric* pArray, bool bVertical ) const
{
PrintFont* pFont = getFont( nFontID );
@@ -1855,8 +1792,6 @@ bool PrintFontManager::getMetrics( fontID nFontID, const sal_Unicode* pString, i
return true;
}
-
-
bool PrintFontManager::getMetrics( fontID nFontID, sal_Unicode minCharacter, sal_Unicode maxCharacter, CharacterMetric* pArray, bool bVertical ) const
{
OSL_PRECOND(minCharacter <= maxCharacter, "invalid char. range");
@@ -1904,8 +1839,6 @@ bool PrintFontManager::getMetrics( fontID nFontID, sal_Unicode minCharacter, sal
return true;
}
-
-
// TODO: move most of this stuff into the central font-subsetting code
bool PrintFontManager::createFontSubset(
FontSubsetInfo& rInfo,
@@ -2137,8 +2070,6 @@ void PrintFontManager::getGlyphWidths( fontID nFont,
}
}
-
-
const std::map< sal_Unicode, sal_Int32 >* PrintFontManager::getEncodingMap( fontID nFont, const std::map< sal_Unicode, OString >** pNonEncoded ) const
{
PrintFont* pFont = getFont( nFont );
@@ -2154,8 +2085,6 @@ const std::map< sal_Unicode, sal_Int32 >* PrintFontManager::getEncodingMap( font
return pFont->m_aEncodingVector.size() ? &pFont->m_aEncodingVector : NULL;
}
-
-
std::list< OString > PrintFontManager::getAdobeNameFromUnicode( sal_Unicode aChar ) const
{
std::pair< boost::unordered_multimap< sal_Unicode, OString >::const_iterator,
@@ -2176,7 +2105,6 @@ std::list< OString > PrintFontManager::getAdobeNameFromUnicode( sal_Unicode aCha
return aRet;
}
-
std::list< sal_Unicode > PrintFontManager::getUnicodeFromAdobeName( const OString& rName ) const
{
std::pair< boost::unordered_multimap< OString, sal_Unicode, OStringHash >::const_iterator,
diff --git a/vcl/generic/fontmanager/fontsubst.cxx b/vcl/generic/fontmanager/fontsubst.cxx
index 4c10c9a..269fd92 100644
--- a/vcl/generic/fontmanager/fontsubst.cxx
+++ b/vcl/generic/fontmanager/fontsubst.cxx
@@ -35,10 +35,8 @@
#include <unotools/fontdefs.hxx>
#include <list>
-
// platform specific font substitution hooks
-
struct FontSelectPatternAttributesHash
{
size_t operator()(const FontSelectPatternAttributes& rAttributes) const
@@ -115,8 +113,6 @@ void SalGenericInstance::RegisterFontSubstitutors( PhysicalFontCollection* pFont
}
}
-
-
static FontSelectPattern GetFcSubstitute(const FontSelectPattern &rFontSelData, OUString& rMissingCodes )
{
FontSelectPattern aSubstituted(rFontSelData);
@@ -153,8 +149,6 @@ namespace
};
}
-
-
bool FcPreMatchSubstititution::FindFontSubstitute( FontSelectPattern &rFontSelData ) const
{
// We don't actually want to talk to Fontconfig at all for symbol fonts
@@ -220,8 +214,6 @@ bool FcPreMatchSubstititution::FindFontSubstitute( FontSelectPattern &rFontSelDa
return bHaveSubstitute;
}
-
-
bool FcGlyphFallbackSubstititution::FindFontSubstitute( FontSelectPattern& rFontSelData,
OUString& rMissingCodes ) const
{
@@ -263,7 +255,4 @@ bool FcGlyphFallbackSubstititution::FindFontSubstitute( FontSelectPattern& rFont
return bHaveSubstitute;
}
-
-
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/generic/fontmanager/helper.cxx b/vcl/generic/fontmanager/helper.cxx
index a35264f..7250964 100644
--- a/vcl/generic/fontmanager/helper.cxx
+++ b/vcl/generic/fontmanager/helper.cxx
@@ -382,5 +382,4 @@ void psp::splitPath( OString& rPath, OString& rDir, OString& rBase )
rBase = rPath.copy( nIndex+1 );
}
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/generic/fontmanager/parseAFM.cxx b/vcl/generic/fontmanager/parseAFM.cxx
index 1567c9e..8d5690e 100644
--- a/vcl/generic/fontmanager/parseAFM.cxx
+++ b/vcl/generic/fontmanager/parseAFM.cxx
@@ -43,7 +43,6 @@
* in recognize() routine
*/
-
/* parseAFM.c
*
* This file is used in conjuction with the parseAFM.h header file.
@@ -290,7 +289,6 @@ static char *token( FileInputStream* stream, int& rLen )
} /* token */
-
/*************************** linetoken *************************/
/* "linetoken" will get read all tokens until the EOL character from
@@ -319,7 +317,6 @@ static char *linetoken( FileInputStream* stream )
} /* linetoken */
-
/*************************** recognize *************************/
/* This function tries to match a string to a known list of
@@ -349,7 +346,6 @@ static inline enum parseKey recognize( char* ident, int len)
} /* recognize */
-
/************************* parseGlobals *****************************/
/* This function is called by "parseFile". It will parse the AFM file
@@ -555,7 +551,6 @@ static int parseGlobals( FileInputStream* fp, GlobalFontInfo* gfi )
} /* parseGlobals */
-
/************************* parseCharWidths **************************/
/* This function is called by "parseFile". It will parse the AFM file
@@ -668,7 +663,6 @@ static int parseCharWidths( FileInputStream* fp, int* cwi)
} /* parseCharWidths */
-
/*
* number of char metrics is almost always inaccurate, so be gentle and try to
* adapt our internal storage by adjusting the allocated list
@@ -871,8 +865,6 @@ static int parseCharMetrics( FileInputStream* fp, FontInfo* fi)
} /* parseCharMetrics */
-
-
/************************* parseTrackKernData ***********************/
/* This function is called by "parseFile". It will parse the AFM file
@@ -980,7 +972,6 @@ static int parseTrackKernData( FileInputStream* fp, FontInfo* fi)
} /* parseTrackKernData */
-
/************************* parsePairKernData ************************/
/* This function is called by "parseFile". It will parse the AFM file
@@ -1107,7 +1098,6 @@ static int parsePairKernData( FileInputStream* fp, FontInfo* fi)
} /* parsePairKernData */
-
/************************* parseCompCharData **************************/
/* This function is called by "parseFile". It will parse the AFM file
@@ -1246,12 +1236,8 @@ static int parseCompCharData( FileInputStream* fp, FontInfo* fi)
} /* parseCompCharData */
-
-
-
/*************************** 'PUBLIC' FUNCTION ********************/
-
/*************************** parseFile *****************************/
/* parseFile is the only 'public' procedure available. It is called
@@ -1283,7 +1269,6 @@ int parseFile( const char* pFilename, FontInfo** fi, FLAGS flags)
char *keyword; /* used to store a token */
-
(*fi) = (FontInfo *) calloc(1, sizeof(FontInfo));
if ((*fi) == NULL) {error = storageProblem; return(error);}
diff --git a/vcl/generic/fontmanager/parseAFM.hxx b/vcl/generic/fontmanager/parseAFM.hxx
index 0c390bd..f77f84a 100644
--- a/vcl/generic/fontmanager/parseAFM.hxx
+++ b/vcl/generic/fontmanager/parseAFM.hxx
@@ -98,8 +98,6 @@ namespace psp {
#define MAX_NAME 4096 /* max length for identifiers */
#define FLAGS int
-
-
/* Flags that can be AND'ed together to specify exactly what
* information from the AFM file should be saved.
*/
@@ -110,7 +108,6 @@ namespace psp {
#define P_T 0x10 /* 0001 0000 */ /* Track Kerning Info */
#define P_C 0x20 /* 0010 0000 */ /* Composite Char Info */
-
/* Commonly used flags
*/
#define P_GW (P_G | P_W)
@@ -119,8 +116,6 @@ namespace psp {
#define P_GMK (P_G | P_M | P_P | P_T)
#define P_ALL (P_G | P_M | P_P | P_T | P_C)
-
-
/* Possible return codes from the parseFile procedure.
*
* ok means there were no problems parsing the file.
@@ -140,14 +135,12 @@ namespace psp {
enum afmError { ok = 0, parseError = -1, earlyEOF = -2, storageProblem = -3 };
-
/************************* TYPES *********************************/
/* Below are all of the data structure definitions. These structures
* try to map as closely as possible to grouping and naming of data
* in the AFM Files.
*/
-
/* Bounding box definition. Used for the Font BBox as well as the
* Character BBox.
*/
@@ -159,7 +152,6 @@ typedef struct
int ury; /* upper right y-position */
} BBox;
-
/* Global Font information.
* The key that each field is associated with is in comments. For an
* explanation about each key and its value please refer to the AFM
@@ -187,7 +179,6 @@ typedef struct
int charwidth; /* key: CharWidth */
} GlobalFontInfo;
-
/* Ligature definition is a linked list since any character can have
* any number of ligatures.
*/
@@ -197,7 +188,6 @@ typedef struct _t_ligature
struct _t_ligature *next;
} Ligature;
-
/* Character Metric Information. This structure is used only if ALL
* character metric information is requested. If only the character
* widths is requested, then only an array of the character x-widths
@@ -219,7 +209,6 @@ typedef struct
Ligature *ligs; /* key: L (linked list; not a fixed number of Ls */
} CharMetricInfo;
-
/* Track kerning data structure.
* The fields of this record are the five values associated with every
* TrackKern entry.
@@ -237,7 +226,6 @@ typedef struct
maxKernAmt;
} TrackKernData;
-
/* Pair Kerning data structure.
* The fields of this record are the four values associated with every
* KP entry. For KPX entries, the yamt will be zero.
@@ -254,7 +242,6 @@ typedef struct
yamt;
} PairKernData;
-
/* PCC is a piece of a composite character. This is a sub structure of a
* compCharData described below.
* These fields will be filled in with the values from the key PCC.
@@ -270,7 +257,6 @@ typedef struct
deltay;
} Pcc;
-
/* Composite Character Information data structure.
* The fields ccName and numOfPieces are filled with the values associated
* with the key CC. The field pieces points to an array (size = numOfPieces)
@@ -288,7 +274,6 @@ typedef struct
Pcc *pieces;
} CompCharData;
-
/* FontInfo
* Record type containing pointers to all of the other data
* structures containing information about a font.
@@ -309,8 +294,6 @@ typedef struct
CompCharData *ccd; /* ptr to comp char array */
} FontInfo;
-
-
/************************* PROCEDURES ****************************/
/* Call this procedure to do the grunt work of parsing an AFM file.
diff --git a/vcl/generic/glyphs/gcach_ftyp.cxx b/vcl/generic/glyphs/gcach_ftyp.cxx
index 92da831..ab5ddd8 100644
--- a/vcl/generic/glyphs/gcach_ftyp.cxx
+++ b/vcl/generic/glyphs/gcach_ftyp.cxx
@@ -17,7 +17,6 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-
#include "gcach_ftyp.hxx"
#include "vcl/svapp.hxx"
@@ -89,8 +88,6 @@ static void InitGammaTable()
}
}
-
-
static FT_Library aLibFT = 0;
// enable linking with old FT versions
@@ -100,8 +97,6 @@ typedef ::boost::unordered_map<const char*, boost::shared_ptr<FtFontFile>, rtl::
namespace { struct vclFontFileList : public rtl::Static< FontFileList, vclFontFileList > {}; }
-
-
// TODO: remove when the priorities are selected by UI
// if (AH==0) => disable autohinting
// if (AA==0) => disable antialiasing
@@ -113,10 +108,8 @@ static int nDefaultPrioEmbedded = 2;
static int nDefaultPrioAutoHint = 1;
static int nDefaultPrioAntiAlias = 1;
-
// FreetypeManager
-
FtFontFile::FtFontFile( const OString& rNativeFileName )
: maNativeFileName( rNativeFileName ),
mpFileMap( NULL ),
@@ -143,8 +136,6 @@ FtFontFile::FtFontFile( const OString& rNativeFileName )
}
}
-
-
FtFontFile* FtFontFile::FindFontFile( const OString& rNativeFileName )
{
// font file already known? (e.g. for ttc, synthetic, aliased fonts)
@@ -161,8 +152,6 @@ FtFontFile* FtFontFile::FindFontFile( const OString& rNativeFileName )
return pFontFile;
}
-
-
bool FtFontFile::Map()
{
if( mnRefCount++ <= 0 )
@@ -190,8 +179,6 @@ bool FtFontFile::Map()
return (mpFileMap != NULL);
}
-
-
void FtFontFile::Unmap()
{
if( (--mnRefCount > 0) || (mpFileMap == NULL) )
@@ -228,8 +215,6 @@ const void * graphiteFontTable(const void* appFaceHandle, unsigned int name, siz
}
#endif
-
-
FtFontInfo::FtFontInfo( const ImplDevFontAttributes& rDevFontAttributes,
const OString& rNativeFileName, int nFaceNum, sal_IntPtr nFontId, int nSynthetic)
:
@@ -254,8 +239,6 @@ FtFontInfo::FtFontInfo( const ImplDevFontAttributes& rDevFontAttributes,
maDevFontAttributes.mnQuality += mpFontFile->GetLangBoost();
}
-
-
FtFontInfo::~FtFontInfo()
{
if( mpFontCharMap )
@@ -274,8 +257,6 @@ void FtFontInfo::InitHashes() const
mpGlyph2Char = new Int2IntMap();
}
-
-
FT_FaceRec_* FtFontInfo::GetFaceFT()
{
if (!maFaceFT && mpFontFile->Map())
@@ -314,8 +295,6 @@ GraphiteFaceWrapper * FtFontInfo::GetGraphiteFace()
}
#endif
-
-
void FtFontInfo::ReleaseFaceFT()
{
if (--mnRefCount <= 0)
@@ -326,8 +305,6 @@ void FtFontInfo::ReleaseFaceFT()
}
}
-
-
static unsigned GetUInt( const unsigned char* p ) { return((p[0]<<24)+(p[1]<<16)+(p[2]<<8)+p[3]);}
static unsigned GetUShort( const unsigned char* p ){ return((p[0]<<8)+p[1]);}
//static signed GetSShort( const unsigned char* p ){ return((short)((p[0]<<8)+p[1]));}
@@ -372,16 +349,12 @@ const unsigned char* FtFontInfo::GetTable( const char* pTag, sal_uLong* pLength
return NULL;
}
-
-
void FtFontInfo::AnnounceFont( PhysicalFontCollection* pFontCollection )
{
ImplFTSFontData* pFD = new ImplFTSFontData( this, maDevFontAttributes );
pFontCollection->Add( pFD );
}
-
-
FreetypeManager::FreetypeManager()
: mnMaxFontId( 0 )
{
@@ -407,8 +380,6 @@ FreetypeManager::FreetypeManager()
vclFontFileList::get();
}
-
-
FT_Face ServerFont::GetFtFace() const
{
FT_Activate_Size( maSizeFT );
@@ -416,15 +387,11 @@ FT_Face ServerFont::GetFtFace() const
return maFaceFT;
}
-
-
FreetypeManager::~FreetypeManager()
{
ClearFontList();
}
-
-
void FreetypeManager::AddFontFile( const OString& rNormalizedName,
int nFaceNum, sal_IntPtr nFontId, const ImplDevFontAttributes& rDevFontAttr)
{
@@ -441,8 +408,6 @@ void FreetypeManager::AddFontFile( const OString& rNormalizedName,
mnMaxFontId = nFontId;
}
-
-
void FreetypeManager::AnnounceFonts( PhysicalFontCollection* pToAdd ) const
{
for( FontList::const_iterator it = maFontList.begin(); it != maFontList.end(); ++it )
@@ -452,8 +417,6 @@ void FreetypeManager::AnnounceFonts( PhysicalFontCollection* pToAdd ) const
}
}
-
-
void FreetypeManager::ClearFontList( )
{
for( FontList::iterator it = maFontList.begin(); it != maFontList.end(); ++it )
@@ -464,8 +427,6 @@ void FreetypeManager::ClearFontList( )
maFontList.clear();
}
-
-
ServerFont* FreetypeManager::CreateFont( const FontSelectPattern& rFSD )
{
FtFontInfo* pFontInfo = NULL;
@@ -484,8 +445,6 @@ ServerFont* FreetypeManager::CreateFont( const FontSelectPattern& rFSD )
return pNew;
}
-
-
ImplFTSFontData::ImplFTSFontData( FtFontInfo* pFI, const ImplDevFontAttributes& rDFA )
: PhysicalFontFace( rDFA, IFTSFONT_MAGIC ),
mpFtFontInfo( pFI )
@@ -494,18 +453,14 @@ ImplFTSFontData::ImplFTSFontData( FtFontInfo* pFI, const ImplDevFontAttributes&
mbOrientation = true;
}
-
-
ImplFontEntry* ImplFTSFontData::CreateFontInstance( FontSelectPattern& rFSD ) const
{
ImplServerFontEntry* pEntry = new ImplServerFontEntry( rFSD );
return pEntry;
}
-
// ServerFont
-
ServerFont::ServerFont( const FontSelectPattern& rFSD, FtFontInfo* pFI )
: maGlyphList( 0),
maFontSelData(rFSD),
@@ -668,8 +623,6 @@ bool ServerFont::TestFont() const
return mbFaceOk;
}
-
-
ServerFont::~ServerFont()
{
if( mpLayoutEngine )
@@ -683,15 +636,11 @@ ServerFont::~ServerFont()
ReleaseFromGarbageCollect();
}
-
-
int ServerFont::GetEmUnits() const
{
return maFaceFT->units_per_EM;
}
-
-
void ServerFont::FetchFontMetric( ImplFontMetricData& rTo, long& rFactor ) const
{
static_cast<ImplFontAttributes&>(rTo) = mpFontInfo->GetFontAttributes();
@@ -814,8 +763,6 @@ void ServerFont::FetchFontMetric( ImplFontMetricData& rTo, long& rFactor ) const
}
}
-
-
static inline void SplitGlyphFlags( const ServerFont& rFont, sal_GlyphId& rGlyphId, int& nGlyphFlags )
{
nGlyphFlags = rGlyphId & GF_FLAGMASK;
@@ -825,8 +772,6 @@ static inline void SplitGlyphFlags( const ServerFont& rFont, sal_GlyphId& rGlyph
rGlyphId = rFont.GetRawGlyphIndex( rGlyphId );
}
-
-
int ServerFont::ApplyGlyphTransform( int nGlyphFlags,
FT_Glyph pGlyphFT, bool bForBitmapProcessing ) const
{
@@ -900,8 +845,6 @@ int ServerFont::ApplyGlyphTransform( int nGlyphFlags,
return nAngle;
}
-
-
sal_GlyphId ServerFont::GetRawGlyphIndex(sal_UCS4 aChar, sal_UCS4 aVS) const
{
if( mpFontInfo->IsSymbolFont() )
@@ -945,8 +888,6 @@ sal_GlyphId ServerFont::GetRawGlyphIndex(sal_UCS4 aChar, sal_UCS4 aVS) const
return sal_GlyphId( nGlyphIndex);
}
-
-
sal_GlyphId ServerFont::FixupGlyphIndex( sal_GlyphId aGlyphId, sal_UCS4 aChar ) const
{
int nGlyphFlags = GF_NONE;
@@ -981,9 +922,6 @@ sal_GlyphId ServerFont::FixupGlyphIndex( sal_GlyphId aGlyphId, sal_UCS4 aChar )
return aGlyphId;
}
-
-
-
sal_GlyphId ServerFont::GetGlyphIndex( sal_UCS4 aChar ) const
{
sal_GlyphId aGlyphId = GetRawGlyphIndex( aChar );
@@ -991,8 +929,6 @@ sal_GlyphId ServerFont::GetGlyphIndex( sal_UCS4 aChar ) const
return aGlyphId;
}
-
-
static int lcl_GetCharWidth( FT_FaceRec_* pFaceFT, double fStretch, int nGlyphFlags )
{
int nCharWidth = pFaceFT->glyph->metrics.horiAdvance;
@@ -1006,8 +942,6 @@ static int lcl_GetCharWidth( FT_FaceRec_* pFaceFT, double fStretch, int nGlyphFl
return (nCharWidth + 32) >> 6;
}
-
-
void ServerFont::InitGlyphData( sal_GlyphId aGlyphId, GlyphData& rGD ) const
{
FT_Activate_Size( maSizeFT );
@@ -1058,8 +992,6 @@ void ServerFont::InitGlyphData( sal_GlyphId aGlyphId, GlyphData& rGD ) const
FT_Done_Glyph( pGlyphFT );
}
-
-
bool ServerFont::GetAntialiasAdvice( void ) const
{
if( GetFontSelData().mbNonAntialiased || (mnPrioAntiAlias<=0) )
@@ -1069,8 +1001,6 @@ bool ServerFont::GetAntialiasAdvice( void ) const
return bAdviseAA;
}
-
-
bool ServerFont::GetGlyphBitmap1( sal_GlyphId aGlyphId, RawBitmap& rRawBitmap ) const
{
FT_Activate_Size( maSizeFT );
@@ -1210,8 +1140,6 @@ bool ServerFont::GetGlyphBitmap1( sal_GlyphId aGlyphId, RawBitmap& rRawBitmap )
return true;
}
-
-
bool ServerFont::GetGlyphBitmap8( sal_GlyphId aGlyphId, RawBitmap& rRawBitmap ) const
{
FT_Activate_Size( maSizeFT );
@@ -1342,10 +1270,8 @@ bool ServerFont::GetGlyphBitmap8( sal_GlyphId aGlyphId, RawBitmap& rRawBitmap )
return true;
}
-
// determine unicode ranges in font
-
const ImplFontCharMap* ServerFont::GetImplFontCharMap( void ) const
{
const ImplFontCharMap* pIFCMap = mpFontInfo->GetImplFontCharMap();
@@ -1442,10 +1368,8 @@ bool ServerFont::GetFontCapabilities(vcl::FontCapabilities &rFontCapabilities) c
return bRet;
}
-
// outline stuff
-
class PolyArgs
{
public:
@@ -1471,8 +1395,6 @@ private:
bool bHasOffline;
};
-
-
PolyArgs::PolyArgs( PolyPolygon& rPolyPoly, sal_uInt16 nMaxPoints )
: mrPolyPoly(rPolyPoly),
mnMaxPoints(nMaxPoints),
@@ -1485,17 +1407,12 @@ PolyArgs::PolyArgs( PolyPolygon& rPolyPoly, sal_uInt16 nMaxPoints )
maPosition.x = maPosition.y = 0;
}
-
-
-
PolyArgs::~PolyArgs()
{
delete[] mpFlagAry;
delete[] mpPointAry;
}
-
-
void PolyArgs::AddPoint( long nX, long nY, PolyFlags aFlag )
{
DBG_ASSERT( (mnPoints < mnMaxPoints), "FTGlyphOutline: AddPoint overflow!" );
@@ -1509,8 +1426,6 @@ void PolyArgs::AddPoint( long nX, long nY, PolyFlags aFlag )
bHasOffline |= (aFlag != POLY_NORMAL);
}
-
-
void PolyArgs::ClosePolygon()
{
if( !mnPoly++ )
@@ -1555,8 +1470,6 @@ void PolyArgs::ClosePolygon()
bHasOffline = false;
}
-
-
extern "C" {
// TODO: wait till all compilers accept that calling conventions
@@ -1608,8 +1521,6 @@ static int FT_cubic_to( FT_Vector_CPtr p1, FT_Vector_CPtr p2, FT_Vector_CPtr p3,
} // extern "C"
-
-
bool ServerFont::GetGlyphOutline( sal_GlyphId aGlyphId,
::basegfx::B2DPolyPolygon& rB2DPolyPoly ) const
{
@@ -1686,8 +1597,6 @@ bool ServerFont::GetGlyphOutline( sal_GlyphId aGlyphId,
return true;
}
-
-
bool ServerFont::ApplyGSUB( const FontSelectPattern& rFSD )
{
#define MKTAG(s) ((((((s[0]<<8)+s[1])<<8)+s[2])<<8)+s[3])
@@ -1943,6 +1852,4 @@ GraphiteFaceWrapper* ServerFont::GetGraphiteFace() const
}
#endif
-
-
... etc. - the rest is truncated
More information about the Libreoffice-commits
mailing list