diff options
Diffstat (limited to 'editeng/source/uno/unonrule.cxx')
-rw-r--r-- | editeng/source/uno/unonrule.cxx | 49 |
1 files changed, 23 insertions, 26 deletions
diff --git a/editeng/source/uno/unonrule.cxx b/editeng/source/uno/unonrule.cxx index 5ac7c4c1ba41..d850f70265f6 100644 --- a/editeng/source/uno/unonrule.cxx +++ b/editeng/source/uno/unonrule.cxx @@ -504,37 +504,34 @@ sal_Int16 SAL_CALL SvxUnoNumberingRulesCompare::compare( const Any& Any1, const sal_Int16 SvxUnoNumberingRules::Compare( const Any& Any1, const Any& Any2 ) { Reference< XIndexReplace > x1( Any1, UNO_QUERY ), x2( Any2, UNO_QUERY ); - if( x1.is() && x2.is() ) - { - if( x1.get() == x2.get() ) - return 0; + if( !x1 || !x2 ) + return -1; - SvxUnoNumberingRules* pRule1 = comphelper::getFromUnoTunnel<SvxUnoNumberingRules>( x1 ); - if( pRule1 ) - { - SvxUnoNumberingRules* pRule2 = comphelper::getFromUnoTunnel<SvxUnoNumberingRules>( x2 ); - if( pRule2 ) - { - const SvxNumRule& rRule1 = pRule1->getNumRule(); - const SvxNumRule& rRule2 = pRule2->getNumRule(); + if( x1.get() == x2.get() ) + return 0; - const sal_uInt16 nLevelCount1 = rRule1.GetLevelCount(); - const sal_uInt16 nLevelCount2 = rRule2.GetLevelCount(); + SvxUnoNumberingRules* pRule1 = comphelper::getFromUnoTunnel<SvxUnoNumberingRules>( x1 ); + if( !pRule1 ) + return -1; + SvxUnoNumberingRules* pRule2 = comphelper::getFromUnoTunnel<SvxUnoNumberingRules>( x2 ); + if( !pRule2 ) + return -1; - if( nLevelCount1 == 0 || nLevelCount2 == 0 ) - return -1; + const SvxNumRule& rRule1 = pRule1->getNumRule(); + const SvxNumRule& rRule2 = pRule2->getNumRule(); - for( sal_uInt16 i = 0; (i < nLevelCount1) && (i < nLevelCount2); i++ ) - { - if( rRule1.GetLevel(i) != rRule2.GetLevel(i) ) - return -1; - } - return 0; - } - } - } + const sal_uInt16 nLevelCount1 = rRule1.GetLevelCount(); + const sal_uInt16 nLevelCount2 = rRule2.GetLevelCount(); + + if( nLevelCount1 == 0 || nLevelCount2 == 0 ) + return -1; - return -1; + for( sal_uInt16 i = 0; (i < nLevelCount1) && (i < nLevelCount2); i++ ) + { + if( rRule1.GetLevel(i) != rRule2.GetLevel(i) ) + return -1; + } + return 0; } Reference< XAnyCompare > SvxCreateNumRuleCompare() noexcept |