Kaydet (Commit) 9e269ef6 authored tarafından Caolán McNamara's avatar Caolán McNamara

ofz#4817 Bad-cast

Change-Id: I5dc9c66ce17f6401fbc9683cf8b10bf62755a166
Reviewed-on: https://gerrit.libreoffice.org/47236Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
üst 4b27e96c
......@@ -195,7 +195,7 @@ void SwHTMLParser::NewDivision( HtmlTokenId nToken )
static_cast<const SwStartNode *>( &rContentStIdx.GetNode() );
aDelPam.GetPoint()->nNode = pStNd->EndOfSectionIndex() - 1;
if (!PendingTableInPaM(aDelPam))
if (!PendingObjectsInPaM(aDelPam))
m_xDoc->getIDocumentContentOperations().DelFullPara(aDelPam);
// update page style
......
......@@ -610,6 +610,8 @@ public:
void IncBoxCount() { m_nBoxes++; }
bool IsOverflowing() const { return m_nBoxes > 64000; }
bool PendingDrawObjectsInPaM(SwPaM& rPam) const;
};
void HTMLTableCnts::InitCtor()
......@@ -5277,11 +5279,39 @@ std::shared_ptr<HTMLTable> SwHTMLParser::BuildTable(SvxAdjust eParentAdjust,
return xRetTable;
}
bool SwHTMLParser::PendingTableInPaM(SwPaM& rPam) const
bool HTMLTable::PendingDrawObjectsInPaM(SwPaM& rPam) const
{
if (!m_pResizeDrawObjects)
return false;
bool bRet = false;
sal_uInt16 nCount = m_pResizeDrawObjects->size();
for (sal_uInt16 i = 0; i < nCount && !bRet; ++i)
{
SdrObject *pObj = (*m_pResizeDrawObjects)[i];
SwFrameFormat* pObjectFormat = ::FindFrameFormat(pObj);
if (!pObjectFormat)
continue;
const SwFormatAnchor& rAnch = pObjectFormat->GetAnchor();
if (const SwPosition* pPos = rAnch.GetContentAnchor())
{
SwNodeIndex aObjNodeIndex(pPos->nNode);
bRet = (aObjNodeIndex >= rPam.Start()->nNode && aObjNodeIndex <= rPam.End()->nNode);
}
}
return bRet;
}
bool SwHTMLParser::PendingObjectsInPaM(SwPaM& rPam) const
{
bool bRet = false;
for (const auto& a : m_aTables)
{
bRet = a->PendingDrawObjectsInPaM(rPam);
if (bRet)
break;
const SwTable *pTable = a->GetSwTable();
if (!pTable)
continue;
......
......@@ -870,7 +870,7 @@ private:
bool HasCurrentParaFlys( bool bNoSurroundOnly = false,
bool bSurroundOnly = false ) const;
bool PendingTableInPaM(SwPaM& rPam) const;
bool PendingObjectsInPaM(SwPaM& rPam) const;
public: // used in tables
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment