diff options
author | Caolán McNamara <caolanm@redhat.com> | 2017-12-14 13:10:26 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2017-12-16 16:51:14 +0100 |
commit | d9533e4c3f36c283681893c66b11343834ca45fa (patch) | |
tree | 6f3fc61d92f7ddafa2b26ebdadaa4a84e5a68ec8 /sw/source/filter/html/htmlcss1.cxx | |
parent | a2cd438a34e911650acf8bbd85840eb8aa36543a (diff) |
ofz: dangling pointers
make attribute table a shared_ptr and get HTMLAttrs that belong
to it to add a reference to it while they exist
Change-Id: I2d3ba433700d4a98fd466b38a495ed5a7adae020
Reviewed-on: https://gerrit.libreoffice.org/46449
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sw/source/filter/html/htmlcss1.cxx')
-rw-r--r-- | sw/source/filter/html/htmlcss1.cxx | 76 |
1 files changed, 38 insertions, 38 deletions
diff --git a/sw/source/filter/html/htmlcss1.cxx b/sw/source/filter/html/htmlcss1.cxx index fa4e9a4951b8..14f7061c6233 100644 --- a/sw/source/filter/html/htmlcss1.cxx +++ b/sw/source/filter/html/htmlcss1.cxx @@ -1541,119 +1541,119 @@ HTMLAttr **SwHTMLParser::GetAttrTabEntry( sal_uInt16 nWhich ) switch( nWhich ) { case RES_CHRATR_BLINK: - ppAttr = &m_aAttrTab.pBlink; + ppAttr = &m_xAttrTab->pBlink; break; case RES_CHRATR_CASEMAP: - ppAttr = &m_aAttrTab.pCaseMap; + ppAttr = &m_xAttrTab->pCaseMap; break; case RES_CHRATR_COLOR: - ppAttr = &m_aAttrTab.pFontColor; + ppAttr = &m_xAttrTab->pFontColor; break; case RES_CHRATR_CROSSEDOUT: - ppAttr = &m_aAttrTab.pStrike; + ppAttr = &m_xAttrTab->pStrike; break; case RES_CHRATR_ESCAPEMENT: - ppAttr = &m_aAttrTab.pEscapement; + ppAttr = &m_xAttrTab->pEscapement; break; case RES_CHRATR_FONT: - ppAttr = &m_aAttrTab.pFont; + ppAttr = &m_xAttrTab->pFont; break; case RES_CHRATR_CJK_FONT: - ppAttr = &m_aAttrTab.pFontCJK; + ppAttr = &m_xAttrTab->pFontCJK; break; case RES_CHRATR_CTL_FONT: - ppAttr = &m_aAttrTab.pFontCTL; + ppAttr = &m_xAttrTab->pFontCTL; break; case RES_CHRATR_FONTSIZE: - ppAttr = &m_aAttrTab.pFontHeight; + ppAttr = &m_xAttrTab->pFontHeight; break; case RES_CHRATR_CJK_FONTSIZE: - ppAttr = &m_aAttrTab.pFontHeightCJK; + ppAttr = &m_xAttrTab->pFontHeightCJK; break; case RES_CHRATR_CTL_FONTSIZE: - ppAttr = &m_aAttrTab.pFontHeightCTL; + ppAttr = &m_xAttrTab->pFontHeightCTL; break; case RES_CHRATR_KERNING: - ppAttr = &m_aAttrTab.pKerning; + ppAttr = &m_xAttrTab->pKerning; break; case RES_CHRATR_POSTURE: - ppAttr = &m_aAttrTab.pItalic; + ppAttr = &m_xAttrTab->pItalic; break; case RES_CHRATR_CJK_POSTURE: - ppAttr = &m_aAttrTab.pItalicCJK; + ppAttr = &m_xAttrTab->pItalicCJK; break; case RES_CHRATR_CTL_POSTURE: - ppAttr = &m_aAttrTab.pItalicCTL; + ppAttr = &m_xAttrTab->pItalicCTL; break; case RES_CHRATR_UNDERLINE: - ppAttr = &m_aAttrTab.pUnderline; + ppAttr = &m_xAttrTab->pUnderline; break; case RES_CHRATR_WEIGHT: - ppAttr = &m_aAttrTab.pBold; + ppAttr = &m_xAttrTab->pBold; break; case RES_CHRATR_CJK_WEIGHT: - ppAttr = &m_aAttrTab.pBoldCJK; + ppAttr = &m_xAttrTab->pBoldCJK; break; case RES_CHRATR_CTL_WEIGHT: - ppAttr = &m_aAttrTab.pBoldCTL; + ppAttr = &m_xAttrTab->pBoldCTL; break; case RES_CHRATR_BACKGROUND: - ppAttr = &m_aAttrTab.pCharBrush; + ppAttr = &m_xAttrTab->pCharBrush; break; case RES_CHRATR_BOX: - ppAttr = &m_aAttrTab.pCharBox; + ppAttr = &m_xAttrTab->pCharBox; break; case RES_PARATR_LINESPACING: - ppAttr = &m_aAttrTab.pLineSpacing; + ppAttr = &m_xAttrTab->pLineSpacing; break; case RES_PARATR_ADJUST: - ppAttr = &m_aAttrTab.pAdjust; + ppAttr = &m_xAttrTab->pAdjust; break; case RES_LR_SPACE: - ppAttr = &m_aAttrTab.pLRSpace; + ppAttr = &m_xAttrTab->pLRSpace; break; case RES_UL_SPACE: - ppAttr = &m_aAttrTab.pULSpace; + ppAttr = &m_xAttrTab->pULSpace; break; case RES_BOX: - ppAttr = &m_aAttrTab.pBox; + ppAttr = &m_xAttrTab->pBox; break; case RES_BACKGROUND: - ppAttr = &m_aAttrTab.pBrush; + ppAttr = &m_xAttrTab->pBrush; break; case RES_BREAK: - ppAttr = &m_aAttrTab.pBreak; + ppAttr = &m_xAttrTab->pBreak; break; case RES_PAGEDESC: - ppAttr = &m_aAttrTab.pPageDesc; + ppAttr = &m_xAttrTab->pPageDesc; break; case RES_PARATR_SPLIT: - ppAttr = &m_aAttrTab.pSplit; + ppAttr = &m_xAttrTab->pSplit; break; case RES_PARATR_WIDOWS: - ppAttr = &m_aAttrTab.pWidows; + ppAttr = &m_xAttrTab->pWidows; break; case RES_PARATR_ORPHANS: - ppAttr = &m_aAttrTab.pOrphans; + ppAttr = &m_xAttrTab->pOrphans; break; case RES_KEEP: - ppAttr = &m_aAttrTab.pKeep; + ppAttr = &m_xAttrTab->pKeep; break; case RES_CHRATR_LANGUAGE: - ppAttr = &m_aAttrTab.pLanguage; + ppAttr = &m_xAttrTab->pLanguage; break; case RES_CHRATR_CJK_LANGUAGE: - ppAttr = &m_aAttrTab.pLanguageCJK; + ppAttr = &m_xAttrTab->pLanguageCJK; break; case RES_CHRATR_CTL_LANGUAGE: - ppAttr = &m_aAttrTab.pLanguageCTL; + ppAttr = &m_xAttrTab->pLanguageCTL; break; case RES_FRAMEDIR: - ppAttr = &m_aAttrTab.pDirection; + ppAttr = &m_xAttrTab->pDirection; break; } @@ -2261,7 +2261,7 @@ void SwHTMLParser::InsertParaAttrs( const SfxItemSet& rItemSet ) if( ppAttr ) { - NewAttr( ppAttr, *pItem ); + NewAttr(m_xAttrTab, ppAttr, *pItem); if( RES_PARATR_BEGIN > nWhich ) (*ppAttr)->SetLikePara(); m_aParaAttrs.push_back( *ppAttr ); |