diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2016-05-03 15:26:01 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2016-05-03 15:26:01 +0200 |
commit | 0b1e4a306705d8c25db6e233244101ba6c4c16b6 (patch) | |
tree | e3ce34a2d884bb5469aa0e15e8d66b6aa08a876e /include/comphelper | |
parent | ab3d2e568fe1595584c66c2ff07843e72f608944 (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 'include/comphelper')
-rw-r--r-- | include/comphelper/property.hxx | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/comphelper/property.hxx b/include/comphelper/property.hxx index 1b79ccb8aec6..bc13cd0bc42d 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; |