diff --git a/main/comphelper/inc/comphelper/extract.hxx
b/main/comphelper/inc/comphelper/extract.hxx
index dc67c5dc58..8ea41ec95f 100644
--- a/main/comphelper/inc/comphelper/extract.hxx
+++ b/main/comphelper/inc/comphelper/extract.hxx
@@ -131,16 +131,22 @@ inline sal_Bool SAL_CALL extractInterface(
inline sal_Bool SAL_CALL any2bool( const ::com::sun::star::uno::Any & rAny )
throw( ::com::sun::star::lang::IllegalArgumentException )
{
- if (rAny.getValueTypeClass() ==
::com::sun::star::uno::TypeClass_BOOLEAN)
+ bool bValue;
+ sal_Bool sBValue;
+ if ( rAny >>= bValue )
{
- return *(sal_Bool *)rAny.getValue();
+ return (sal_Bool)bValue;
+ }
+ else if ( rAny >>= sBValue )
+ {
+ return sBValue;
}
else
{
sal_Int32 nValue = 0;
if (! (rAny >>= nValue))
throw
::com::sun::star::lang::IllegalArgumentException();
- return nValue != 0;
+ return (sal_Bool)(nValue != 0);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]