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: dev-unsubscr...@openoffice.apache.org For additional commands, e-mail: dev-h...@openoffice.apache.org