[Libreoffice-commits] core.git: 2 commits - cui/source dbaccess/source editeng/source extensions/source include/com include/comphelper sc/source starmath/source svl/source svtools/source unotools/source xmloff/source
Stephan Bergmann
sbergman at redhat.com
Tue May 3 13:28:52 UTC 2016
cui/source/options/connpoolconfig.cxx | 2
dbaccess/source/core/api/RowSet.cxx | 4 -
dbaccess/source/core/api/RowSetBase.cxx | 2
editeng/source/misc/acorrcfg.cxx | 68 ++++++++++-----------
extensions/source/bibliography/bibconfig.cxx | 4 -
include/com/sun/star/uno/Any.h | 28 ++++++++
include/comphelper/property.hxx | 2
sc/source/core/data/dpsave.cxx | 2
sc/source/core/data/dptabsrc.cxx | 23 ++-----
starmath/source/unomodel.cxx | 6 -
svl/source/config/cjkoptions.cxx | 19 ++---
svl/source/config/ctloptions.cxx | 10 +--
svl/source/numbers/numfmuno.cxx | 25 +++----
svtools/source/config/apearcfg.cxx | 5 -
svtools/source/config/colorcfg.cxx | 3
svtools/source/config/fontsubstconfig.cxx | 10 ---
svtools/source/config/htmlcfg.cxx | 2
unotools/source/config/fltrcfg.cxx | 14 ----
unotools/source/config/lingucfg.cxx | 41 ++++++------
unotools/source/config/misccfg.cxx | 7 --
unotools/source/config/saveopt.cxx | 5 -
xmloff/source/text/XMLIndexTabStopEntryContext.cxx | 6 -
22 files changed, 139 insertions(+), 149 deletions(-)
New commits:
commit 0b1e4a306705d8c25db6e233244101ba6c4c16b6
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Tue May 3 15:26:01 2016 +0200
Prevent Any::setValue from reinterpreting bool* as sal_Bool*
...which only happens ot work in environments where sizeof (bool) == 1. The
simpler alternative is to use the operator <<= template without passing explicit
UNO type information, anyway.
The std::nullptr_t overloads are needed to disambiguate calls with a nullptr
argument. (Which can at least be meaningful for VOID, but for other types what
it happens to do is store a default value of the given type.) As std::nullptr_t
is only C++11, this all needs to be LIBO_INTERNAL_ONLY.
Change-Id: Iff06a6ba94250bd4ae4afc937c2a2bfa75f0888f
diff --git a/dbaccess/source/core/api/RowSet.cxx b/dbaccess/source/core/api/RowSet.cxx
index 18a95db..cc24832 100644
--- a/dbaccess/source/core/api/RowSet.cxx
+++ b/dbaccess/source/core/api/RowSet.cxx
@@ -380,10 +380,10 @@ void SAL_CALL ORowSet::getFastPropertyValue(Any& rValue,sal_Int32 nHandle) const
switch(nHandle)
{
case PROPERTY_ID_ISMODIFIED:
- rValue.setValue(&m_bModified,cppu::UnoType<bool>::get());
+ rValue <<= m_bModified;
break;
case PROPERTY_ID_ISNEW:
- rValue.setValue(&m_bNew,cppu::UnoType<bool>::get());
+ rValue <<= m_bNew;
break;
case PROPERTY_ID_PRIVILEGES:
rValue <<= m_pCache->m_nPrivileges;
diff --git a/dbaccess/source/core/api/RowSetBase.cxx b/dbaccess/source/core/api/RowSetBase.cxx
index 42dc249..a007159 100644
--- a/dbaccess/source/core/api/RowSetBase.cxx
+++ b/dbaccess/source/core/api/RowSetBase.cxx
@@ -141,7 +141,7 @@ void SAL_CALL ORowSetBase::getFastPropertyValue(Any& rValue,sal_Int32 nHandle) c
rValue <<= impl_getRowCount();
break;
case PROPERTY_ID_ISROWCOUNTFINAL:
- rValue.setValue(&m_pCache->m_bRowCountFinal,cppu::UnoType<bool>::get());
+ rValue <<= m_pCache->m_bRowCountFinal;
break;
default:
OPropertyStateContainer::getFastPropertyValue(rValue,nHandle);
diff --git a/editeng/source/misc/acorrcfg.cxx b/editeng/source/misc/acorrcfg.cxx
index aaf9233..b838791 100644
--- a/editeng/source/misc/acorrcfg.cxx
+++ b/editeng/source/misc/acorrcfg.cxx
@@ -551,32 +551,30 @@ void SvxSwAutoCorrCfg::ImplCommit()
Sequence<Any> aValues(aNames.getLength());
Any* pValues = aValues.getArray();
- const Type& rType = cppu::UnoType<bool>::get();
- sal_Bool bVal;
SvxSwAutoFormatFlags& rSwFlags = rParent.pAutoCorrect->GetSwFlags();
for(int nProp = 0; nProp < aNames.getLength(); nProp++)
{
switch(nProp)
{
- case 0: pValues[nProp].setValue(&rParent.bFileRel, rType); break; // "Text/FileLinks",
- case 1: pValues[nProp].setValue(&rParent.bNetRel, rType); break; // "Text/InternetLinks",
- case 2: pValues[nProp].setValue(&rParent.bAutoTextPreview, rType); break; // "Text/ShowPreview",
- case 3: pValues[nProp].setValue(&rParent.bAutoTextTip, rType); break; // "Text/ShowToolTip",
- case 4: pValues[nProp].setValue(&rParent.bSearchInAllCategories, rType );break; //"Text/SearchInAllCategories"
- case 5: bVal = rSwFlags.bAutoCorrect; pValues[nProp].setValue(&bVal, rType); break; // "Format/Option/UseReplacementTable",
- case 6: bVal = rSwFlags.bCapitalStartSentence; pValues[nProp].setValue(&bVal, rType); break; // "Format/Option/TwoCapitalsAtStart",
- case 7: bVal = rSwFlags.bCapitalStartWord; pValues[nProp].setValue(&bVal, rType); break; // "Format/Option/CapitalAtStartSentence",
- case 8: bVal = rSwFlags.bChgWeightUnderl; pValues[nProp].setValue(&bVal, rType); break; // "Format/Option/ChangeUnderlineWeight",
- case 9: bVal = rSwFlags.bSetINetAttr; pValues[nProp].setValue(&bVal, rType); break; // "Format/Option/SetInetAttribute",
- case 10: bVal = rSwFlags.bChgOrdinalNumber; pValues[nProp].setValue(&bVal, rType); break; // "Format/Option/ChangeOrdinalNumber",
- case 11: bVal = rSwFlags.bAddNonBrkSpace; pValues[nProp].setValue(&bVal, rType); break; // "Format/Option/AddNonBreakingSpace",
+ case 0: pValues[nProp] <<= rParent.bFileRel; break; // "Text/FileLinks",
+ case 1: pValues[nProp] <<= rParent.bNetRel; break; // "Text/InternetLinks",
+ case 2: pValues[nProp] <<= rParent.bAutoTextPreview; break; // "Text/ShowPreview",
+ case 3: pValues[nProp] <<= rParent.bAutoTextTip; break; // "Text/ShowToolTip",
+ case 4: pValues[nProp] <<= rParent.bSearchInAllCategories;break; //"Text/SearchInAllCategories"
+ case 5: pValues[nProp] <<= rSwFlags.bAutoCorrect; break; // "Format/Option/UseReplacementTable",
+ case 6: pValues[nProp] <<= rSwFlags.bCapitalStartSentence;; break; // "Format/Option/TwoCapitalsAtStart",
+ case 7: pValues[nProp] <<= rSwFlags.bCapitalStartWord; break; // "Format/Option/CapitalAtStartSentence",
+ case 8: pValues[nProp] <<= rSwFlags.bChgWeightUnderl; break; // "Format/Option/ChangeUnderlineWeight",
+ case 9: pValues[nProp] <<= rSwFlags.bSetINetAttr; break; // "Format/Option/SetInetAttribute",
+ case 10: pValues[nProp] <<= rSwFlags.bChgOrdinalNumber; break; // "Format/Option/ChangeOrdinalNumber",
+ case 11: pValues[nProp] <<= rSwFlags.bAddNonBrkSpace; break; // "Format/Option/AddNonBreakingSpace",
// it doesn't exist here - the common flags are used for that -> LM
case 12:
- bVal = true; pValues[nProp].setValue(&bVal, rType);
+ pValues[nProp] <<= true;
break; // "Format/Option/ChangeDash",
- case 13: bVal = rSwFlags.bDelEmptyNode; pValues[nProp].setValue(&bVal, rType); break; // "Format/Option/DelEmptyParagraphs",
- case 14: bVal = rSwFlags.bChgUserColl; pValues[nProp].setValue(&bVal, rType); break; // "Format/Option/ReplaceUserStyle",
- case 15: bVal = rSwFlags.bChgEnumNum; pValues[nProp].setValue(&bVal, rType); break; // "Format/Option/ChangeToBullets/Enable",
+ case 13: pValues[nProp] <<= rSwFlags.bDelEmptyNode; break; // "Format/Option/DelEmptyParagraphs",
+ case 14: pValues[nProp] <<= rSwFlags.bChgUserColl; break; // "Format/Option/ReplaceUserStyle",
+ case 15: pValues[nProp] <<= rSwFlags.bChgEnumNum; break; // "Format/Option/ChangeToBullets/Enable",
case 16:
pValues[nProp] <<= (sal_Int32)rSwFlags.cBullet;
break; // "Format/Option/ChangeToBullets/SpecialCharacter/Char",
@@ -592,35 +590,35 @@ void SvxSwAutoCorrCfg::ImplCommit()
case 20:
pValues[nProp] <<= (sal_Int32)rSwFlags.aBulletFont.GetPitch();
break; // "Format/Option/ChangeToBullets/SpecialCharacter/FontPitch",
- case 21: bVal = rSwFlags.bRightMargin; pValues[nProp].setValue(&bVal, rType); break; // "Format/Option/CombineParagraphs",
+ case 21: pValues[nProp] <<= rSwFlags.bRightMargin; break; // "Format/Option/CombineParagraphs",
case 22:
pValues[nProp] <<= (sal_Int32)rSwFlags.nRightMargin;
break; // "Format/Option/CombineValue",
- case 23: bVal = rSwFlags.bAFormatDelSpacesAtSttEnd; pValues[nProp].setValue(&bVal, rType); break; // "Format/Option/DelSpacesAtStartEnd",
- case 24: bVal = rSwFlags.bAFormatDelSpacesBetweenLines; pValues[nProp].setValue(&bVal, rType); break; // "Format/Option/DelSpacesBetween",
- case 25: bVal = rParent.bAutoFmtByInput; pValues[nProp].setValue(&bVal, rType); break; // "Format/ByInput/Enable",
- case 26: bVal = rSwFlags.bChgToEnEmDash; pValues[nProp].setValue(&bVal, rType); break; // "Format/ByInput/ChangeDash",
- case 27: bVal = rSwFlags.bSetNumRule; pValues[nProp].setValue(&bVal, rType); break; // "Format/ByInput/ApplyNumbering/Enable",
- case 28: bVal = rSwFlags.bSetBorder; pValues[nProp].setValue(&bVal, rType); break; // "Format/ByInput/ChangeToBorders",
- case 29: bVal = rSwFlags.bCreateTable; pValues[nProp].setValue(&bVal, rType); break; // "Format/ByInput/ChangeToTable",
- case 30: bVal = rSwFlags.bReplaceStyles; pValues[nProp].setValue(&bVal, rType); break; // "Format/ByInput/ReplaceStyle",
- case 31: bVal = rSwFlags.bAFormatByInpDelSpacesAtSttEnd; pValues[nProp].setValue(&bVal, rType); break; // "Format/ByInput/DelSpacesAtStartEnd",
- case 32: bVal = rSwFlags.bAFormatByInpDelSpacesBetweenLines; pValues[nProp].setValue(&bVal, rType); break; // "Format/ByInput/DelSpacesBetween",
- case 33: bVal = rSwFlags.bAutoCompleteWords; pValues[nProp].setValue(&bVal, rType); break; // "Completion/Enable",
+ case 23: pValues[nProp] <<= rSwFlags.bAFormatDelSpacesAtSttEnd; break; // "Format/Option/DelSpacesAtStartEnd",
+ case 24: pValues[nProp] <<= rSwFlags.bAFormatDelSpacesBetweenLines; break; // "Format/Option/DelSpacesBetween",
+ case 25: pValues[nProp] <<= rParent.bAutoFmtByInput; break; // "Format/ByInput/Enable",
+ case 26: pValues[nProp] <<= rSwFlags.bChgToEnEmDash; break; // "Format/ByInput/ChangeDash",
+ case 27: pValues[nProp] <<= rSwFlags.bSetNumRule; break; // "Format/ByInput/ApplyNumbering/Enable",
+ case 28: pValues[nProp] <<= rSwFlags.bSetBorder; break; // "Format/ByInput/ChangeToBorders",
+ case 29: pValues[nProp] <<= rSwFlags.bCreateTable; break; // "Format/ByInput/ChangeToTable",
+ case 30: pValues[nProp] <<= rSwFlags.bReplaceStyles; break; // "Format/ByInput/ReplaceStyle",
+ case 31: pValues[nProp] <<= rSwFlags.bAFormatByInpDelSpacesAtSttEnd; break; // "Format/ByInput/DelSpacesAtStartEnd",
+ case 32: pValues[nProp] <<= rSwFlags.bAFormatByInpDelSpacesBetweenLines; break; // "Format/ByInput/DelSpacesBetween",
+ case 33: pValues[nProp] <<= rSwFlags.bAutoCompleteWords; break; // "Completion/Enable",
case 34:
pValues[nProp] <<= (sal_Int32)rSwFlags.nAutoCmpltWordLen;
break; // "Completion/MinWordLen",
case 35:
pValues[nProp] <<= (sal_Int32)rSwFlags.nAutoCmpltListLen;
break; // "Completion/MaxListLen",
- case 36: bVal = rSwFlags.bAutoCmpltCollectWords; pValues[nProp].setValue(&bVal, rType); break; // "Completion/CollectWords",
- case 37: bVal = rSwFlags.bAutoCmpltEndless; pValues[nProp].setValue(&bVal, rType); break; // "Completion/EndlessList",
- case 38: bVal = rSwFlags.bAutoCmpltAppendBlanc; pValues[nProp].setValue(&bVal, rType); break; // "Completion/AppendBlank",
- case 39: bVal = rSwFlags.bAutoCmpltShowAsTip; pValues[nProp].setValue(&bVal, rType); break; // "Completion/ShowAsTip",
+ case 36: pValues[nProp] <<= rSwFlags.bAutoCmpltCollectWords; break; // "Completion/CollectWords",
+ case 37: pValues[nProp] <<= rSwFlags.bAutoCmpltEndless; break; // "Completion/EndlessList",
+ case 38: pValues[nProp] <<= rSwFlags.bAutoCmpltAppendBlanc; break; // "Completion/AppendBlank",
+ case 39: pValues[nProp] <<= rSwFlags.bAutoCmpltShowAsTip; break; // "Completion/ShowAsTip",
case 40:
pValues[nProp] <<= (sal_Int32)rSwFlags.nAutoCmpltExpandKey;
break; // "Completion/AcceptKey"
- case 41 :bVal = rSwFlags.bAutoCmpltKeepList; pValues[nProp].setValue(&bVal, rType); break;// "Completion/KeepList"
+ case 41 : pValues[nProp] <<= rSwFlags.bAutoCmpltKeepList; break;// "Completion/KeepList"
case 42 :
pValues[nProp] <<= (sal_Int32)rSwFlags.cByInputBullet;
break;// "Format/ByInput/ApplyNumbering/SpecialCharacter/Char",
diff --git a/extensions/source/bibliography/bibconfig.cxx b/extensions/source/bibliography/bibconfig.cxx
index e5779e2..a5d9733 100644
--- a/extensions/source/bibliography/bibconfig.cxx
+++ b/extensions/source/bibliography/bibconfig.cxx
@@ -234,9 +234,7 @@ void BibConfig::ImplCommit()
case 4: pValues[nProp] <<= nViewSize; break;
case 5: pValues[nProp] <<= sQueryText; break;
case 6: pValues[nProp] <<= sQueryField; break;
- case 7:
- pValues[nProp].setValue(&bShowColumnAssignmentWarning, cppu::UnoType<bool>::get());
- break;
+ case 7: pValues[nProp] <<= bShowColumnAssignmentWarning; break;
}
}
PutProperties(aPropertyNames, aValues);
diff --git a/include/com/sun/star/uno/Any.h b/include/com/sun/star/uno/Any.h
index c46a59e..90107d5 100644
--- a/include/com/sun/star/uno/Any.h
+++ b/include/com/sun/star/uno/Any.h
@@ -213,6 +213,18 @@ public:
*/
inline void SAL_CALL setValue( const void * pData_, typelib_TypeDescription * pTypeDescr );
+#if defined LIBO_INTERNAL_ONLY
+ void setValue(bool const *, Type const &) = delete;
+ void setValue(bool const *, typelib_TypeDescriptionReference *) = delete;
+ void setValue(bool const *, typelib_TypeDescription *) = delete;
+ void setValue(std::nullptr_t, Type const & type)
+ { setValue(static_cast<void *>(nullptr), type); }
+ void setValue(std::nullptr_t, typelib_TypeDescriptionReference * type)
+ { setValue(static_cast<void *>(nullptr), type); }
+ void setValue(std::nullptr_t, typelib_TypeDescription * type)
+ { setValue(static_cast<void *>(nullptr), type); }
+#endif
+
/** Clears this any. If the any already contains a value, that value will be destructed
and its memory freed. After this has been called, the any does not contain a value.
*/
diff --git a/include/comphelper/property.hxx b/include/comphelper/property.hxx
index 1b79ccb..bc13cd0 100644
--- a/include/comphelper/property.hxx
+++ b/include/comphelper/property.hxx
@@ -132,7 +132,7 @@ inline bool tryPropertyValue(css::uno::Any& /*out*/_rConvertedValue, css::uno::A
if (bool(bNewValue) != _bCurrentValue)
{
_rConvertedValue.setValue(&bNewValue, cppu::UnoType<bool>::get());
- _rOldValue.setValue(&_bCurrentValue, cppu::UnoType<bool>::get());
+ _rOldValue <<= _bCurrentValue;
bModified = true;
}
return bModified;
diff --git a/sc/source/core/data/dptabsrc.cxx b/sc/source/core/data/dptabsrc.cxx
index 0217fe5..c652cf2 100644
--- a/sc/source/core/data/dptabsrc.cxx
+++ b/sc/source/core/data/dptabsrc.cxx
@@ -90,11 +90,6 @@ static bool lcl_GetBoolFromAny( const uno::Any& aAny )
return false;
}
-static void lcl_SetBoolInAny( uno::Any& rAny, bool bValue )
-{
- rAny.setValue( &bValue, cppu::UnoType<bool>::get() );
-}
-
ScDPSource::ScDPSource( ScDPTableData* pD ) :
pData( pD ),
pDimensions( nullptr ),
@@ -1168,13 +1163,13 @@ uno::Any SAL_CALL ScDPSource::getPropertyValue( const OUString& aPropertyName )
{
uno::Any aRet;
if ( aPropertyName == SC_UNO_DP_COLGRAND )
- lcl_SetBoolInAny(aRet, bColumnGrand);
+ aRet <<= bColumnGrand;
else if ( aPropertyName == SC_UNO_DP_ROWGRAND )
- lcl_SetBoolInAny(aRet, bRowGrand);
+ aRet <<= bRowGrand;
else if ( aPropertyName == SC_UNO_DP_IGNOREEMPTY )
- lcl_SetBoolInAny(aRet, bIgnoreEmptyRows);
+ aRet <<= bIgnoreEmptyRows;
else if ( aPropertyName == SC_UNO_DP_REPEATEMPTY )
- lcl_SetBoolInAny(aRet, bRepeatIfEmpty);
+ aRet <<= bRepeatIfEmpty;
else if ( aPropertyName == SC_UNO_DP_DATADESC ) // read-only
aRet <<= getDataDescription();
else if ( aPropertyName == SC_UNO_DP_ROWFIELDCOUNT ) // read-only
@@ -1614,7 +1609,7 @@ uno::Any SAL_CALL ScDPDimension::getPropertyValue( const OUString& aPropertyName
else if ( aPropertyName == SC_UNO_DP_REFVALUE )
aRet <<= aReferenceValue;
else if ( aPropertyName == SC_UNO_DP_ISDATALAYOUT ) // read-only properties
- lcl_SetBoolInAny( aRet, getIsDataLayoutDimension() );
+ aRet <<= getIsDataLayoutDimension();
else if ( aPropertyName == SC_UNO_DP_NUMBERFO )
{
sal_Int32 nFormat = 0;
@@ -2233,9 +2228,9 @@ uno::Any SAL_CALL ScDPLevel::getPropertyValue( const OUString& aPropertyName )
{
uno::Any aRet;
if ( aPropertyName == SC_UNO_DP_SHOWEMPTY )
- lcl_SetBoolInAny(aRet, bShowEmpty);
+ aRet <<= bShowEmpty;
else if ( aPropertyName == SC_UNO_DP_REPEATITEMLABELS )
- lcl_SetBoolInAny(aRet, bRepeatItemLabels);
+ aRet <<= bRepeatItemLabels;
else if ( aPropertyName == SC_UNO_DP_SUBTOTAL )
{
uno::Sequence<sheet::GeneralFunction> aSeq = getSubTotals(); //TODO: avoid extra copy?
@@ -2681,9 +2676,9 @@ uno::Any SAL_CALL ScDPMember::getPropertyValue( const OUString& aPropertyName )
{
uno::Any aRet;
if ( aPropertyName == SC_UNO_DP_ISVISIBLE )
- lcl_SetBoolInAny(aRet, bVisible);
+ aRet <<= bVisible;
else if ( aPropertyName == SC_UNO_DP_SHOWDETAILS )
- lcl_SetBoolInAny(aRet, bShowDet);
+ aRet <<= bShowDet;
else if ( aPropertyName == SC_UNO_DP_POSITION )
aRet <<= nPosition;
else if (aPropertyName == SC_UNO_DP_LAYOUTNAME)
diff --git a/starmath/source/unomodel.cxx b/starmath/source/unomodel.cxx
index e6e9279..10cea81 100644
--- a/starmath/source/unomodel.cxx
+++ b/starmath/source/unomodel.cxx
@@ -737,8 +737,7 @@ void SmModel::_getPropertyValues( const PropertyMapEntry **ppEntries, Any *pValu
case HANDLE_FONT_TEXT_POSTURE :
{
const SmFace & rFace = aFormat.GetFont((*ppEntries)->mnMemberId);
- bool bVal = IsItalic( rFace );
- (*pValue).setValue(&bVal, (*ppEntries)->maType);
+ *pValue <<= IsItalic( rFace );
}
break;
case HANDLE_CUSTOM_FONT_FIXED_WEIGHT :
@@ -750,8 +749,7 @@ void SmModel::_getPropertyValues( const PropertyMapEntry **ppEntries, Any *pValu
case HANDLE_FONT_TEXT_WEIGHT :
{
const SmFace & rFace = aFormat.GetFont((*ppEntries)->mnMemberId);
- bool bVal = IsBold( rFace ); // bold?
- (*pValue).setValue(&bVal, (*ppEntries)->maType);
+ *pValue <<= IsBold( rFace );
}
break;
case HANDLE_BASE_FONT_HEIGHT :
diff --git a/svl/source/config/cjkoptions.cxx b/svl/source/config/cjkoptions.cxx
index 9062501..3c7d9f2 100644
--- a/svl/source/config/cjkoptions.cxx
+++ b/svl/source/config/cjkoptions.cxx
@@ -246,7 +246,6 @@ void SvtCJKOptions_Impl::ImplCommit()
Any* pValues = aValues.getArray();
sal_Int32 nRealCount = 0;
- const Type& rType = cppu::UnoType<bool>::get();
for(int nProp = 0; nProp < nOrgCount; nProp++)
{
switch(nProp)
@@ -256,7 +255,7 @@ void SvtCJKOptions_Impl::ImplCommit()
if (!bROCJKFont)
{
pNames[nRealCount] = pOrgNames[nProp];
- pValues[nRealCount].setValue(&bCJKFont, rType);
+ pValues[nRealCount] <<= bCJKFont;
++nRealCount;
}
}
@@ -267,7 +266,7 @@ void SvtCJKOptions_Impl::ImplCommit()
if (!bROVerticalText)
{
pNames[nRealCount] = pOrgNames[nProp];
- pValues[nRealCount].setValue(&bVerticalText, rType);
+ pValues[nRealCount] <<= bVerticalText;
++nRealCount;
}
}
@@ -278,7 +277,7 @@ void SvtCJKOptions_Impl::ImplCommit()
if (!bROAsianTypography)
{
pNames[nRealCount] = pOrgNames[nProp];
- pValues[nRealCount].setValue(&bAsianTypography, rType);
+ pValues[nRealCount] <<= bAsianTypography;
++nRealCount;
}
}
@@ -289,7 +288,7 @@ void SvtCJKOptions_Impl::ImplCommit()
if (!bROJapaneseFind)
{
pNames[nRealCount] = pOrgNames[nProp];
- pValues[nRealCount].setValue(&bJapaneseFind, rType);
+ pValues[nRealCount] <<= bJapaneseFind;
++nRealCount;
}
}
@@ -300,7 +299,7 @@ void SvtCJKOptions_Impl::ImplCommit()
if (!bRORuby)
{
pNames[nRealCount] = pOrgNames[nProp];
- pValues[nRealCount].setValue(&bRuby, rType);
+ pValues[nRealCount] <<= bRuby;
++nRealCount;
}
}
@@ -311,7 +310,7 @@ void SvtCJKOptions_Impl::ImplCommit()
if (!bROChangeCaseMap)
{
pNames[nRealCount] = pOrgNames[nProp];
- pValues[nRealCount].setValue(&bChangeCaseMap, rType);
+ pValues[nRealCount] <<= bChangeCaseMap;
++nRealCount;
}
}
@@ -322,7 +321,7 @@ void SvtCJKOptions_Impl::ImplCommit()
if (!bRODoubleLines)
{
pNames[nRealCount] = pOrgNames[nProp];
- pValues[nRealCount].setValue(&bDoubleLines, rType);
+ pValues[nRealCount] <<= bDoubleLines;
++nRealCount;
}
}
@@ -333,7 +332,7 @@ void SvtCJKOptions_Impl::ImplCommit()
if (!bROEmphasisMarks)
{
pNames[nRealCount] = pOrgNames[nProp];
- pValues[nRealCount].setValue(&bEmphasisMarks, rType);
+ pValues[nRealCount] <<= bEmphasisMarks;
++nRealCount;
}
}
@@ -344,7 +343,7 @@ void SvtCJKOptions_Impl::ImplCommit()
if (!bROVerticalCallOut)
{
pNames[nRealCount] = pOrgNames[nProp];
- pValues[nRealCount].setValue(&bVerticalCallOut, rType);
+ pValues[nRealCount] <<= bVerticalCallOut;
++nRealCount;
}
}
diff --git a/svl/source/config/ctloptions.cxx b/svl/source/config/ctloptions.cxx
index 7aed551..d95d4c5 100644
--- a/svl/source/config/ctloptions.cxx
+++ b/svl/source/config/ctloptions.cxx
@@ -150,8 +150,6 @@ void SvtCTLOptions_Impl::ImplCommit()
Any* pValues = aValues.getArray();
sal_Int32 nRealCount = 0;
- const uno::Type& rType = cppu::UnoType<bool>::get();
-
for ( int nProp = 0; nProp < nOrgCount; nProp++ )
{
switch ( nProp )
@@ -161,7 +159,7 @@ void SvtCTLOptions_Impl::ImplCommit()
if (!m_bROCTLFontEnabled)
{
pNames[nRealCount] = pOrgNames[nProp];
- pValues[nRealCount].setValue( &m_bCTLFontEnabled, rType );
+ pValues[nRealCount] <<= m_bCTLFontEnabled;
++nRealCount;
}
}
@@ -172,7 +170,7 @@ void SvtCTLOptions_Impl::ImplCommit()
if (!m_bROCTLSequenceChecking)
{
pNames[nRealCount] = pOrgNames[nProp];
- pValues[nRealCount].setValue( &m_bCTLSequenceChecking, rType );
+ pValues[nRealCount] <<= m_bCTLSequenceChecking;
++nRealCount;
}
}
@@ -205,7 +203,7 @@ void SvtCTLOptions_Impl::ImplCommit()
if (!m_bROCTLRestricted)
{
pNames[nRealCount] = pOrgNames[nProp];
- pValues[nRealCount].setValue( &m_bCTLRestricted, rType );
+ pValues[nRealCount] <<= m_bCTLRestricted;
++nRealCount;
}
}
@@ -215,7 +213,7 @@ void SvtCTLOptions_Impl::ImplCommit()
if(!m_bROCTLTypeAndReplace)
{
pNames[nRealCount] = pOrgNames[nProp];
- pValues[nRealCount].setValue( &m_bCTLTypeAndReplace, rType );
+ pValues[nRealCount] <<= m_bCTLTypeAndReplace;
++nRealCount;
}
}
diff --git a/svl/source/numbers/numfmuno.cxx b/svl/source/numbers/numfmuno.cxx
index 368dde3..0f87d68 100644
--- a/svl/source/numbers/numfmuno.cxx
+++ b/svl/source/numbers/numfmuno.cxx
@@ -737,13 +737,11 @@ uno::Any SAL_CALL SvNumberFormatObj::getPropertyValue( const OUString& aProperty
else if (aPropertyName == PROPERTYNAME_STDFORM)
{
//! Pass through SvNumberformat Member bStandard?
- sal_Bool bStandard = ( ( nKey % SV_COUNTRY_LANGUAGE_OFFSET ) == 0 );
- aRet.setValue( &bStandard, cppu::UnoType<bool>::get() );
+ aRet <<= ( ( nKey % SV_COUNTRY_LANGUAGE_OFFSET ) == 0 );
}
else if (aPropertyName == PROPERTYNAME_USERDEF)
{
- sal_Bool bUserDef = ( ( pFormat->GetType() & css::util::NumberFormat::DEFINED ) != 0 );
- aRet.setValue( &bUserDef, cppu::UnoType<bool>::get() );
+ aRet <<= ( ( pFormat->GetType() & css::util::NumberFormat::DEFINED ) != 0 );
}
else if (aPropertyName == PROPERTYNAME_DECIMALS)
{
@@ -758,12 +756,12 @@ uno::Any SAL_CALL SvNumberFormatObj::getPropertyValue( const OUString& aProperty
else if (aPropertyName == PROPERTYNAME_NEGRED)
{
pFormat->GetFormatSpecialInfo( bThousand, bRed, nDecimals, nLeading );
- aRet.setValue( &bRed, cppu::UnoType<bool>::get() );
+ aRet <<= bRed;
}
else if (aPropertyName == PROPERTYNAME_THOUS)
{
pFormat->GetFormatSpecialInfo( bThousand, bRed, nDecimals, nLeading );
- aRet.setValue( &bThousand, cppu::UnoType<bool>::get() );
+ aRet <<= bThousand;
}
else if (aPropertyName == PROPERTYNAME_CURRSYM)
{
@@ -852,9 +850,9 @@ uno::Sequence<beans::PropertyValue> SAL_CALL SvNumberFormatObj::getPropertyValue
OUString aFmtStr = pFormat->GetFormatstring();
OUString aComment = pFormat->GetComment();
- sal_Bool bStandard = ( ( nKey % SV_COUNTRY_LANGUAGE_OFFSET ) == 0 );
+ bool bStandard = ( ( nKey % SV_COUNTRY_LANGUAGE_OFFSET ) == 0 );
//! Pass through SvNumberformat Member bStandard?
- sal_Bool bUserDef = ( ( pFormat->GetType() & css::util::NumberFormat::DEFINED ) != 0 );
+ bool bUserDef = ( ( pFormat->GetType() & css::util::NumberFormat::DEFINED ) != 0 );
bool bThousand, bRed;
sal_uInt16 nDecimals, nLeading;
pFormat->GetFormatSpecialInfo( bThousand, bRed, nDecimals, nLeading );
@@ -872,17 +870,17 @@ uno::Sequence<beans::PropertyValue> SAL_CALL SvNumberFormatObj::getPropertyValue
pArray[3].Name = PROPERTYNAME_COMMENT;
pArray[3].Value <<= aComment;
pArray[4].Name = PROPERTYNAME_STDFORM;
- pArray[4].Value.setValue( &bStandard, cppu::UnoType<bool>::get() );
+ pArray[4].Value <<= bStandard;
pArray[5].Name = PROPERTYNAME_USERDEF;
- pArray[5].Value.setValue( &bUserDef, cppu::UnoType<bool>::get() );
+ pArray[5].Value <<= bUserDef;
pArray[6].Name = PROPERTYNAME_DECIMALS;
pArray[6].Value <<= (sal_Int16)( nDecimals );
pArray[7].Name = PROPERTYNAME_LEADING;
pArray[7].Value <<= (sal_Int16)( nLeading );
pArray[8].Name = PROPERTYNAME_NEGRED;
- pArray[8].Value.setValue( &bRed, cppu::UnoType<bool>::get() );
+ pArray[8].Value <<= bRed;
pArray[9].Name = PROPERTYNAME_THOUS;
- pArray[9].Value.setValue( &bThousand, cppu::UnoType<bool>::get() );
+ pArray[9].Value <<= bThousand;
pArray[10].Name = PROPERTYNAME_CURRSYM;
pArray[10].Value <<= aSymbol;
pArray[11].Name = PROPERTYNAME_CURREXT;
@@ -1001,8 +999,7 @@ uno::Any SAL_CALL SvNumberFormatSettingsObj::getPropertyValue( const OUString& a
{
if (aPropertyName == PROPERTYNAME_NOZERO)
{
- sal_Bool bNoZero = pFormatter->GetNoZero();
- aRet.setValue( &bNoZero, cppu::UnoType<bool>::get() );
+ aRet <<= pFormatter->GetNoZero();
}
else if (aPropertyName == PROPERTYNAME_NULLDATE)
{
diff --git a/svtools/source/config/apearcfg.cxx b/svtools/source/config/apearcfg.cxx
index 1507d13..378eb7f 100644
--- a/svtools/source/config/apearcfg.cxx
+++ b/svtools/source/config/apearcfg.cxx
@@ -116,18 +116,17 @@ void SvtTabAppearanceCfg::ImplCommit()
Sequence<Any> aValues(rNames.getLength());
Any* pValues = aValues.getArray();
- const Type& rType = cppu::UnoType<bool>::get();
for(int nProp = 0; nProp < rNames.getLength(); nProp++)
{
switch(nProp)
{
case 0: pValues[nProp] <<= nScaleFactor; break; // "FontScaling",
case 1: pValues[nProp] <<= nDragMode; break; //"Window/Drag",
- case 2: pValues[nProp].setValue(&bMenuMouseFollow, rType); break; //"Menu/FollowMouse",
+ case 2: pValues[nProp] <<= bMenuMouseFollow; break; //"Menu/FollowMouse",
case 3: pValues[nProp] <<= nSnapMode; break; //"Dialog/MousePositioning",
case 4: pValues[nProp] <<= static_cast<short>(nMiddleMouse); break; //"Dialog/MiddleMouseButton",
#if defined( UNX )
- case 5: pValues[nProp].setValue(&bFontAntialiasing, rType); break; // "FontAntialising/Enabled",
+ case 5: pValues[nProp] <<= bFontAntialiasing; break; // "FontAntialising/Enabled",
case 6: pValues[nProp] <<= nAAMinPixelHeight; break; // "FontAntialising/MinPixelHeight",
#endif
}
diff --git a/svtools/source/config/colorcfg.cxx b/svtools/source/config/colorcfg.cxx
index ef1c868..1d1d07e 100644
--- a/svtools/source/config/colorcfg.cxx
+++ b/svtools/source/config/colorcfg.cxx
@@ -271,7 +271,6 @@ void ColorConfig_Impl::ImplCommit()
beans::PropertyValue* pPropValues = aPropValues.getArray();
const OUString* pColorNames = aColorNames.getConstArray();
sal_Int32 nIndex = 0;
- const uno::Type& rBoolType = cppu::UnoType<bool>::get();
for(int i = 0; i < 2 * ColorConfigEntryCount && aColorNames.getLength() > nIndex; i+= 2)
{
pPropValues[nIndex].Name = pColorNames[nIndex];
@@ -286,7 +285,7 @@ void ColorConfig_Impl::ImplCommit()
if(pColorNames[nIndex].endsWith(g_sIsVisible))
{
pPropValues[nIndex].Name = pColorNames[nIndex];
- pPropValues[nIndex].Value.setValue(&m_aConfigValues[i/2].bIsVisible, rBoolType);
+ pPropValues[nIndex].Value <<= m_aConfigValues[i/2].bIsVisible;
nIndex++;
}
}
diff --git a/svtools/source/config/fontsubstconfig.cxx b/svtools/source/config/fontsubstconfig.cxx
index 742aa45..473c20b 100644
--- a/svtools/source/config/fontsubstconfig.cxx
+++ b/svtools/source/config/fontsubstconfig.cxx
@@ -97,10 +97,7 @@ void SvtFontSubstConfig::Notify( const css::uno::Sequence< OUString >& )
void SvtFontSubstConfig::ImplCommit()
{
- Sequence<OUString> aNames { cReplacement };
- Sequence<Any> aValues(1);
- aValues.getArray()[0].setValue(&bIsEnabled, cppu::UnoType<bool>::get());
- PutProperties(aNames, aValues);
+ PutProperties({cReplacement}, {css::uno::Any(bIsEnabled)});
OUString sNode(cFontPairs);
if(pImpl->aSubstArr.empty())
@@ -116,7 +113,6 @@ void SvtFontSubstConfig::ImplCommit()
const OUString sAlways(cAlways);
const OUString sOnScreenOnly(cOnScreenOnly);
- const uno::Type& rBoolType = cppu::UnoType<bool>::get();
for(size_t i = 0; i < pImpl->aSubstArr.size(); i++)
{
OUString sPrefix = sNode + "/_" + OUString::number(i) + "/";
@@ -127,9 +123,9 @@ void SvtFontSubstConfig::ImplCommit()
pSetValues[nSetValue].Name = sPrefix; pSetValues[nSetValue].Name += sSubstituteFont;
pSetValues[nSetValue++].Value <<= rSubst.sReplaceBy;
pSetValues[nSetValue].Name = sPrefix; pSetValues[nSetValue].Name += sAlways;
- pSetValues[nSetValue++].Value.setValue(&rSubst.bReplaceAlways, rBoolType);
+ pSetValues[nSetValue++].Value <<= rSubst.bReplaceAlways;
pSetValues[nSetValue].Name = sPrefix; pSetValues[nSetValue].Name += sOnScreenOnly;
- pSetValues[nSetValue++].Value.setValue(&rSubst.bReplaceOnScreenOnly, rBoolType);
+ pSetValues[nSetValue++].Value <<= rSubst.bReplaceOnScreenOnly;
}
ReplaceSetProperties(sNode, aSetValues);
}
diff --git a/svtools/source/config/htmlcfg.cxx b/svtools/source/config/htmlcfg.cxx
index 4372052..bfb4252 100644
--- a/svtools/source/config/htmlcfg.cxx
+++ b/svtools/source/config/htmlcfg.cxx
@@ -236,7 +236,7 @@ void SvxHtmlOptions::ImplCommit()
case 15: bSet = 0 != (pImp->nFlags & HTMLCFG_NUMBERS_ENGLISH_US);break;//"Import/NumbersEnglishUS"
}
if(nProp < 2 || ( nProp > 9 && nProp < 14 ) || nProp == 15)
- pValues[nProp].setValue(&bSet, cppu::UnoType<bool>::get());
+ pValues[nProp] <<= bSet;
}
PutProperties(aNames, aValues);
}
diff --git a/unotools/source/config/fltrcfg.cxx b/unotools/source/config/fltrcfg.cxx
index 93127a2..ad19c6b 100644
--- a/unotools/source/config/fltrcfg.cxx
+++ b/unotools/source/config/fltrcfg.cxx
@@ -93,18 +93,8 @@ SvtAppFilterOptions_Impl::~SvtAppFilterOptions_Impl()
void SvtAppFilterOptions_Impl::ImplCommit()
{
- Sequence<OUString> aNames(2);
- OUString* pNames = aNames.getArray();
- pNames[0] = "Load";
- pNames[1] = "Save";
- Sequence<Any> aValues(aNames.getLength());
- Any* pValues = aValues.getArray();
-
- const Type& rType = cppu::UnoType<bool>::get();
- pValues[0].setValue(&bLoadVBA, rType);
- pValues[1].setValue(&bSaveVBA, rType);
-
- PutProperties(aNames, aValues);
+ PutProperties(
+ {"Load", "Save"}, {css::uno::Any(bLoadVBA), css::uno::Any(bSaveVBA)});
}
void SvtAppFilterOptions_Impl::Notify( const Sequence< OUString >& )
diff --git a/unotools/source/config/lingucfg.cxx b/unotools/source/config/lingucfg.cxx
index cab762a..03b2275 100644
--- a/unotools/source/config/lingucfg.cxx
+++ b/unotools/source/config/lingucfg.cxx
@@ -671,7 +671,6 @@ bool SvtLinguConfigItem::SaveOptions( const uno::Sequence< OUString > &rProperyN
osl::MutexGuard aGuard(theSvtLinguConfigItemMutex::get());
bool bRet = false;
- const uno::Type &rBOOL = cppu::UnoType<bool>::get();
const uno::Type &rINT16 = cppu::UnoType<sal_Int16>::get();
const uno::Type &rINT32 = cppu::UnoType<sal_Int32>::get();
@@ -686,41 +685,41 @@ bool SvtLinguConfigItem::SaveOptions( const uno::Sequence< OUString > &rProperyN
OUString aTmp( lcl_LanguageToCfgLocaleStr( rOpt.nDefaultLanguage ) );
*pValue++ = uno::makeAny( aTmp ); // 0
*pValue++ = uno::makeAny( rOpt.aActiveDics ); // 1
- pValue++->setValue( &rOpt.bIsUseDictionaryList, rBOOL ); // 2
- pValue++->setValue( &rOpt.bIsIgnoreControlCharacters, rBOOL ); // 3
+ *pValue++ <<= rOpt.bIsUseDictionaryList; // 2
+ *pValue++ <<= rOpt.bIsIgnoreControlCharacters; // 3
aTmp = lcl_LanguageToCfgLocaleStr( rOpt.nDefaultLanguage_CJK );
*pValue++ = uno::makeAny( aTmp ); // 5
aTmp = lcl_LanguageToCfgLocaleStr( rOpt.nDefaultLanguage_CTL );
*pValue++ = uno::makeAny( aTmp ); // 6
- pValue++->setValue( &rOpt.bIsSpellUpperCase, rBOOL ); // 7
- pValue++->setValue( &rOpt.bIsSpellWithDigits, rBOOL ); // 8
- pValue++->setValue( &rOpt.bIsSpellCapitalization, rBOOL ); // 9
- pValue++->setValue( &rOpt.bIsSpellAuto, rBOOL ); // 10
- pValue++->setValue( &rOpt.bIsSpellSpecial, rBOOL ); // 11
- pValue++->setValue( &rOpt.bIsSpellReverse, rBOOL ); // 14
+ *pValue++ <<= rOpt.bIsSpellUpperCase; // 7
+ *pValue++ <<= rOpt.bIsSpellWithDigits; // 8
+ *pValue++ <<= rOpt.bIsSpellCapitalization; // 9
+ *pValue++ <<= rOpt.bIsSpellAuto; // 10
+ *pValue++ <<= rOpt.bIsSpellSpecial; // 11
+ *pValue++ <<= rOpt.bIsSpellReverse; // 14
pValue++->setValue( &rOpt.nHyphMinLeading, rINT16 ); // 15
pValue++->setValue( &rOpt.nHyphMinTrailing, rINT16 ); // 16
pValue++->setValue( &rOpt.nHyphMinWordLength, rINT16 ); // 17
- pValue++->setValue( &rOpt.bIsHyphSpecial, rBOOL ); // 18
- pValue++->setValue( &rOpt.bIsHyphAuto, rBOOL ); // 19
+ *pValue++ <<= rOpt.bIsHyphSpecial; // 18
+ *pValue++ <<= rOpt.bIsHyphAuto; // 19
*pValue++ = uno::makeAny( rOpt.aActiveConvDics ); // 20
- pValue++->setValue( &rOpt.bIsIgnorePostPositionalWord, rBOOL ); // 21
- pValue++->setValue( &rOpt.bIsAutoCloseDialog, rBOOL ); // 22
- pValue++->setValue( &rOpt.bIsShowEntriesRecentlyUsedFirst, rBOOL ); // 23
- pValue++->setValue( &rOpt.bIsAutoReplaceUniqueEntries, rBOOL ); // 24
+ *pValue++ <<= rOpt.bIsIgnorePostPositionalWord; // 21
+ *pValue++ <<= rOpt.bIsAutoCloseDialog; // 22
+ *pValue++ <<= rOpt.bIsShowEntriesRecentlyUsedFirst; // 23
+ *pValue++ <<= rOpt.bIsAutoReplaceUniqueEntries; // 24
- pValue++->setValue( &rOpt.bIsDirectionToSimplified, rBOOL ); // 25
- pValue++->setValue( &rOpt.bIsUseCharacterVariants, rBOOL ); // 26
- pValue++->setValue( &rOpt.bIsTranslateCommonTerms, rBOOL ); // 27
- pValue++->setValue( &rOpt.bIsReverseMapping, rBOOL ); // 28
+ *pValue++ <<= rOpt.bIsDirectionToSimplified; // 25
+ *pValue++ <<= rOpt.bIsUseCharacterVariants; // 26
+ *pValue++ <<= rOpt.bIsTranslateCommonTerms; // 27
+ *pValue++ <<= rOpt.bIsReverseMapping; // 28
pValue++->setValue( &rOpt.nDataFilesChangedCheckValue, rINT32 ); // 29
- pValue++->setValue( &rOpt.bIsGrammarAuto, rBOOL ); // 30
- pValue++->setValue( &rOpt.bIsGrammarInteractive, rBOOL ); // 31
+ *pValue++ <<= rOpt.bIsGrammarAuto; // 30
+ *pValue++ <<= rOpt.bIsGrammarInteractive; // 31
bRet |= PutProperties( rProperyNames, aValues );
}
diff --git a/unotools/source/config/misccfg.cxx b/unotools/source/config/misccfg.cxx
index c32a90c..e2ef188f 100644
--- a/unotools/source/config/misccfg.cxx
+++ b/unotools/source/config/misccfg.cxx
@@ -161,14 +161,13 @@ void SfxMiscCfg::ImplCommit()
Sequence<Any> aValues(rNames.getLength());
Any* pValues = aValues.getArray();
- const Type& rType = cppu::UnoType<bool>::get();
for(int nProp = 0; nProp < rNames.getLength(); nProp++)
{
switch(nProp)
{
- case 0: pValues[nProp].setValue(&bPaperSize, rType);break; //"Print/Warning/PaperSize",
- case 1: pValues[nProp].setValue(&bPaperOrientation, rType);break; //"Print/Warning/PaperOrientation",
- case 2: pValues[nProp].setValue(&bNotFound, rType);break; //"Print/Warning/NotFound",
+ case 0: pValues[nProp] <<= bPaperSize;break; //"Print/Warning/PaperSize",
+ case 1: pValues[nProp] <<= bPaperOrientation;break; //"Print/Warning/PaperOrientation",
+ case 2: pValues[nProp] <<= bNotFound;break; //"Print/Warning/NotFound",
case 3: pValues[nProp] <<= nYear2000;break; //"DateFormat/TwoDigitYear",
}
}
diff --git a/unotools/source/config/saveopt.cxx b/unotools/source/config/saveopt.cxx
index 84b0e97..9a34074 100644
--- a/unotools/source/config/saveopt.cxx
+++ b/unotools/source/config/saveopt.cxx
@@ -799,9 +799,8 @@ SvtLoadOptions_Impl::~SvtLoadOptions_Impl()
void SvtLoadOptions_Impl::ImplCommit()
{
- Sequence< OUString > aNames { cUserDefinedSettings };
- Sequence< Any > aValues { Any(bLoadUserDefinedSettings) };
- PutProperties( aNames, aValues );
+ PutProperties(
+ {cUserDefinedSettings}, {css::uno::Any(bLoadUserDefinedSettings)});
}
void SvtLoadOptions_Impl::Notify( const Sequence<OUString>& )
diff --git a/xmloff/source/text/XMLIndexTabStopEntryContext.cxx b/xmloff/source/text/XMLIndexTabStopEntryContext.cxx
index 51764f7..1822fd2 100644
--- a/xmloff/source/text/XMLIndexTabStopEntryContext.cxx
+++ b/xmloff/source/text/XMLIndexTabStopEntryContext.cxx
@@ -129,8 +129,7 @@ void XMLIndexTabStopEntryContext::FillPropertyValues(
// right aligned?
pValues[nNextEntry].Name = rTemplateContext.sTabStopRightAligned;
- pValues[nNextEntry].Value.setValue( &bTabRightAligned,
- cppu::UnoType<bool>::get());
+ pValues[nNextEntry].Value <<= bTabRightAligned;
nNextEntry++;
// position
@@ -151,8 +150,7 @@ void XMLIndexTabStopEntryContext::FillPropertyValues(
// tab character #i21237#
pValues[nNextEntry].Name = "WithTab";
- pValues[nNextEntry].Value.setValue( &bWithTab,
- cppu::UnoType<bool>::get());
+ pValues[nNextEntry].Value <<= bWithTab;
nNextEntry++;
// check whether we really filled all elements of the sequence
commit ab3d2e568fe1595584c66c2ff07843e72f608944
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Tue May 3 15:19:21 2016 +0200
Prevent Any ctor from reinterpreting bool* as sal_Bool*
...which only happens to work in environments where sizeof (bool) == 1. The
simpler alternative is to use the Any ctor template without passing explicit UNO
type information, anyway.
The std::nullptr_t overloads are needed to disambiguate calls with a nullptr
argument. (Which can at least be meaningful for VOID, but for other types what
it happens to do is store a default value of the given type.) As std::nullptr_t
is only C++11, this all needs to be LIBO_INTERNAL_ONLY.
Change-Id: I0f72c73a088ef96e069c3ed8c78546b16d89b50a
diff --git a/cui/source/options/connpoolconfig.cxx b/cui/source/options/connpoolconfig.cxx
index 31423f5..00b46cd 100644
--- a/cui/source/options/connpoolconfig.cxx
+++ b/cui/source/options/connpoolconfig.cxx
@@ -186,7 +186,7 @@ namespace offapp
// set the values
aThisDriverSettings.setNodeValue(getDriverNameNodeName(), makeAny(sThisDriverName));
- aThisDriverSettings.setNodeValue(getEnableNodeName(), Any(&aLoop->bEnabled, cppu::UnoType<bool>::get()));
+ aThisDriverSettings.setNodeValue(getEnableNodeName(), Any(aLoop->bEnabled));
aThisDriverSettings.setNodeValue(getTimeoutNodeName(), makeAny(aLoop->nTimeoutSeconds));
}
bNeedCommit = true;
diff --git a/include/com/sun/star/uno/Any.h b/include/com/sun/star/uno/Any.h
index ad26da1..c46a59e 100644
--- a/include/com/sun/star/uno/Any.h
+++ b/include/com/sun/star/uno/Any.h
@@ -19,6 +19,10 @@
#ifndef INCLUDED_COM_SUN_STAR_UNO_ANY_H
#define INCLUDED_COM_SUN_STAR_UNO_ANY_H
+#include <sal/config.h>
+
+#include <cstddef>
+
#include <uno/any2.h>
#include <typelib/typedescription.h>
#include <cppu/unotype.hxx>
@@ -101,6 +105,18 @@ public:
*/
inline Any( const void * pData_, typelib_TypeDescriptionReference * pType_ );
+#if defined LIBO_INTERNAL_ONLY
+ Any(bool const *, Type const &) = delete;
+ Any(bool const *, typelib_TypeDescription *) = delete;
+ Any(bool const *, typelib_TypeDescriptionReference *) = delete;
+ Any(std::nullptr_t, Type const & type):
+ Any(static_cast<void *>(nullptr), type) {}
+ Any(std::nullptr_t, typelib_TypeDescription * type):
+ Any(static_cast<void *>(nullptr), type) {}
+ Any(std::nullptr_t, typelib_TypeDescriptionReference * type):
+ Any(static_cast<void *>(nullptr), type) {}
+#endif
+
/** Destructor: Destructs any content and frees memory.
*/
inline ~Any();
diff --git a/sc/source/core/data/dpsave.cxx b/sc/source/core/data/dpsave.cxx
index 20c3488..15920ed 100644
--- a/sc/source/core/data/dpsave.cxx
+++ b/sc/source/core/data/dpsave.cxx
@@ -64,7 +64,7 @@ static void lcl_SetBoolProperty( const uno::Reference<beans::XPropertySet>& xPro
{
//TODO: move to ScUnoHelpFunctions?
- xProp->setPropertyValue( rName, uno::Any( &bValue, cppu::UnoType<bool>::get() ) );
+ xProp->setPropertyValue( rName, uno::Any( bValue ) );
}
ScDPSaveMember::ScDPSaveMember(const OUString& rName) :
More information about the Libreoffice-commits
mailing list