include/comphelper/property.hxx | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)
New commits: commit 92712332f32988e7827520f3480aaef9dfd5804a Author: Stephan Bergmann <sberg...@redhat.com> Date: Mon Jun 20 18:21:27 2016 +0200 Restrict tryPropertyValueEnum to enum types Change-Id: I54a6fdc341185fe4bdb9cc7d1b1a1feb0737bf47 diff --git a/include/comphelper/property.hxx b/include/comphelper/property.hxx index 74c3183..a4171fd 100644 --- a/include/comphelper/property.hxx +++ b/include/comphelper/property.hxx @@ -25,6 +25,7 @@ #include <com/sun/star/beans/Property.hpp> #include <com/sun/star/beans/XPropertySet.hpp> #include <functional> +#include <type_traits> #include <comphelper/comphelperdllapi.h> #include <cppu/unotype.hxx> @@ -95,12 +96,9 @@ bool tryPropertyValue(css::uno::Any& /*out*/_rConvertedValue, css::uno::Any& /*o @exception InvalidArgumentException thrown if the value could not be converted to the requested type (which is the template argument) */ template <class ENUMTYPE> -bool tryPropertyValueEnum(css::uno::Any& /*out*/_rConvertedValue, css::uno::Any& /*out*/_rOldValue, const css::uno::Any& _rValueToSet, const ENUMTYPE& _rCurrentValue) +typename std::enable_if<std::is_enum<ENUMTYPE>::value, bool>::type +tryPropertyValueEnum(css::uno::Any& /*out*/_rConvertedValue, css::uno::Any& /*out*/_rOldValue, const css::uno::Any& _rValueToSet, const ENUMTYPE& _rCurrentValue) { - if (cppu::getTypeFavourUnsigned(&_rCurrentValue).getTypeClass() - != css::uno::TypeClass_ENUM) - return tryPropertyValue(_rConvertedValue, _rOldValue, _rValueToSet, _rCurrentValue); - bool bModified(false); ENUMTYPE aNewValue; ::cppu::any2enum(aNewValue, _rValueToSet); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits