diff options
Diffstat (limited to 'svl/source/items/itemset.cxx')
-rw-r--r-- | svl/source/items/itemset.cxx | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/svl/source/items/itemset.cxx b/svl/source/items/itemset.cxx index cf15b267b5a9..33ed2d49b03e 100644 --- a/svl/source/items/itemset.cxx +++ b/svl/source/items/itemset.cxx @@ -737,7 +737,8 @@ void SfxItemSet::MergeRange( sal_uInt16 nFrom, sal_uInt16 nTo ) { // special case: exactly one sal_uInt16 which is already included? - if ( nFrom == nTo && SFX_ITEM_AVAILABLE <= GetItemState(nFrom, false) ) + SfxItemState eItemState = GetItemState(nFrom, false); + if ( nFrom == nTo && ( eItemState == SFX_ITEM_DEFAULT || eItemState == SFX_ITEM_SET ) ) return; // merge new range @@ -1096,7 +1097,7 @@ void SfxItemSet::Intersect( const SfxItemSet& rSet ) sal_uInt16 nWhich = IsInvalidItem( pItem ) ? GetWhichByPos( aIter.GetCurPos() ) : pItem->Which(); - if( 0 == rSet.GetItemState( nWhich, false ) ) + if( SFX_ITEM_UNKNOWN == rSet.GetItemState( nWhich, false ) ) ClearItem( nWhich ); // loeschen if( aIter.IsAtEnd() ) break; |