summaryrefslogtreecommitdiff
path: root/sw/source/filter/html/svxcss1.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sw/source/filter/html/svxcss1.cxx')
-rw-r--r--sw/source/filter/html/svxcss1.cxx11
1 files changed, 9 insertions, 2 deletions
diff --git a/sw/source/filter/html/svxcss1.cxx b/sw/source/filter/html/svxcss1.cxx
index 280c927320d0..649163449d56 100644
--- a/sw/source/filter/html/svxcss1.cxx
+++ b/sw/source/filter/html/svxcss1.cxx
@@ -694,6 +694,14 @@ void SvxCSS1Parser::SelectorParsed( std::unique_ptr<CSS1Selector> pSelector, boo
m_Selectors.push_back(std::move(pSelector));
}
+static void BuildWhichTable( WhichRangesContainer& rWhichMap,
+ sal_uInt16 const *pWhichIds,
+ sal_uInt16 nWhichIds )
+{
+ for (sal_uInt16 i = 0; i < nWhichIds; ++i)
+ rWhichMap = rWhichMap.MergeRange(pWhichIds[i], pWhichIds[i]);
+}
+
SvxCSS1Parser::SvxCSS1Parser( SfxItemPool& rPool, const OUString& rBaseURL,
sal_uInt16 const *pWhichIds, sal_uInt16 nWhichIds ) :
CSS1Parser(),
@@ -740,13 +748,12 @@ SvxCSS1Parser::SvxCSS1Parser( SfxItemPool& rPool, const OUString& rBaseURL,
aItemIds.nLanguageCTL = rPool.GetTrueWhich( SID_ATTR_CHAR_CTL_LANGUAGE, false );
aItemIds.nDirection = rPool.GetTrueWhich( SID_ATTR_FRAMEDIRECTION, false );
- m_aWhichMap.insert( m_aWhichMap.begin(), 0 );
BuildWhichTable( m_aWhichMap, reinterpret_cast<sal_uInt16 *>(&aItemIds),
sizeof(aItemIds) / sizeof(sal_uInt16) );
if( pWhichIds && nWhichIds )
BuildWhichTable( m_aWhichMap, pWhichIds, nWhichIds );
- m_pSheetItemSet.reset( new SfxItemSet( rPool, m_aWhichMap.data() ) );
+ m_pSheetItemSet.reset( new SfxItemSet( rPool, m_aWhichMap ) );
m_pSheetPropInfo.reset( new SvxCSS1PropertyInfo );
}