ofz#5855 revert fix mem leak
commit 5ceea51947
Author: Caolán McNamara <caolanm@redhat.com>
Date: Fri Dec 8 14:13:22 2017 +0000
ofz: fix mem leak
Change-Id: I295e52723297b257dcfe532108471702631ca5f5
Reviewed-on: https://gerrit.libreoffice.org/46093
Change-Id: I98c2dc7e32c6dfc725a5763077bceb527cb31db2
This commit is contained in:
1
sw/qa/core/data/html/pass/ofz5855-1.html
Normal file
1
sw/qa/core/data/html/pass/ofz5855-1.html
Normal file
@@ -0,0 +1 @@
|
||||
<div title="header"><Table><td><table><EFBFBD><td></table><style>@page:first</style>
|
@@ -401,7 +401,7 @@ class HTMLTable
|
||||
|
||||
const SwStartNode *m_pPrevStartNode; // the Table-Node or the Start-Node of the section before
|
||||
const SwTable *m_pSwTable; // SW-Table (only on Top-Level)
|
||||
std::unique_ptr<SwTableBox> m_xBox1; // TableBox, generated when the Top-Level-Table was build
|
||||
SwTableBox* m_pBox1; // TableBox, generated when the Top-Level-Table was build
|
||||
SwTableBoxFormat *m_pBoxFormat; // frame::Frame-Format from SwTableBox
|
||||
SwTableLineFormat *m_pLineFormat; // frame::Frame-Format from SwTableLine
|
||||
SwTableLineFormat *m_pLineFrameFormatNoHeight;
|
||||
@@ -909,7 +909,7 @@ void HTMLTable::InitCtor(const HTMLTableOptions& rOptions)
|
||||
m_nRows = 0;
|
||||
m_nCurrentRow = 0; m_nCurrentColumn = 0;
|
||||
|
||||
m_xBox1.reset();
|
||||
m_pBox1 = nullptr;
|
||||
m_pBoxFormat = nullptr; m_pLineFormat = nullptr;
|
||||
m_pLineFrameFormatNoHeight = nullptr;
|
||||
m_xInheritedBackgroundBrush.reset();
|
||||
@@ -1465,11 +1465,12 @@ SwTableBox *HTMLTable::NewTableBox( const SwStartNode *pStNd,
|
||||
{
|
||||
SwTableBox *pBox;
|
||||
|
||||
if (m_xBox1 && m_xBox1->GetSttNd() == pStNd)
|
||||
if (m_pBox1 && m_pBox1->GetSttNd() == pStNd)
|
||||
{
|
||||
// If the StartNode is the StartNode of the initially created box, we take that box
|
||||
pBox = const_cast<HTMLTable*>(this)->m_xBox1.release();
|
||||
pBox = const_cast<HTMLTable*>(this)->m_pBox1;
|
||||
pBox->SetUpper(pUpper);
|
||||
const_cast<HTMLTable*>(this)->m_pBox1 = nullptr;
|
||||
}
|
||||
else
|
||||
pBox = new SwTableBox( m_pBoxFormat, *pStNd, pUpper );
|
||||
@@ -2315,11 +2316,11 @@ void HTMLTable::MakeTable( SwTableBox *pBox, sal_uInt16 nAbsAvail,
|
||||
// get the default line and box format
|
||||
// remember the first box and unlist it from the first row
|
||||
SwTableLine *pLine1 = (m_pSwTable->GetTabLines())[0];
|
||||
m_xBox1.reset((pLine1->GetTabBoxes())[0]);
|
||||
m_pBox1 = (pLine1->GetTabBoxes())[0];
|
||||
pLine1->GetTabBoxes().erase(pLine1->GetTabBoxes().begin());
|
||||
|
||||
m_pLineFormat = static_cast<SwTableLineFormat*>(pLine1->GetFrameFormat());
|
||||
m_pBoxFormat = static_cast<SwTableBoxFormat*>(m_xBox1->GetFrameFormat());
|
||||
m_pBoxFormat = static_cast<SwTableBoxFormat*>(m_pBox1->GetFrameFormat());
|
||||
|
||||
MakeTable_( pBox );
|
||||
|
||||
|
Reference in New Issue
Block a user