summaryrefslogtreecommitdiff
path: root/starmath
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2016-05-03 15:26:01 +0200
committerStephan Bergmann <sbergman@redhat.com>2016-05-03 15:26:01 +0200
commit0b1e4a306705d8c25db6e233244101ba6c4c16b6 (patch)
treee3ce34a2d884bb5469aa0e15e8d66b6aa08a876e /starmath
parentab3d2e568fe1595584c66c2ff07843e72f608944 (diff)
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
Diffstat (limited to 'starmath')
-rw-r--r--starmath/source/unomodel.cxx6
1 files changed, 2 insertions, 4 deletions
diff --git a/starmath/source/unomodel.cxx b/starmath/source/unomodel.cxx
index e6e9279342a0..10cea81039c9 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 :