diff options
author | Caolán McNamara <caolanm@redhat.com> | 2015-12-19 12:40:50 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2015-12-19 12:54:24 +0000 |
commit | c2f1731685014b9df386dfb59900783c3ca3acb7 (patch) | |
tree | 286786e7d8f378299aa54988682582a6851dfc65 /lotuswordpro | |
parent | 9e83e31019cdc68e5324a10ef76417b46720cfe9 (diff) |
coverity#1343626 Unchecked dynamic_cast
Change-Id: I52e6d6c9cb48880185293fb9825d7a6530ee767d
Diffstat (limited to 'lotuswordpro')
-rw-r--r-- | lotuswordpro/source/filter/lwpfribsection.cxx | 33 |
1 files changed, 21 insertions, 12 deletions
diff --git a/lotuswordpro/source/filter/lwpfribsection.cxx b/lotuswordpro/source/filter/lwpfribsection.cxx index 1a38e071b49e..33ceeb95c797 100644 --- a/lotuswordpro/source/filter/lwpfribsection.cxx +++ b/lotuswordpro/source/filter/lwpfribsection.cxx @@ -245,9 +245,12 @@ LwpMasterPage::LwpMasterPage(LwpPara* pPara, LwpPageLayout* pLayout) bool LwpMasterPage::RegisterMasterPage(LwpFrib* pFrib) { //if there is no other frib after current frib, register master page in starting para of next page - if(IsNextPageType()&&(!pFrib->HasNextFrib())) + LwpStory* pStory = nullptr; + if (IsNextPageType()&&(!pFrib->HasNextFrib())) + pStory = dynamic_cast<LwpStory*>(m_pPara->GetStoryID().obj().get()); + + if (pStory) { - LwpStory* pStory = dynamic_cast<LwpStory*>(m_pPara->GetStoryID().obj().get()); pStory->SetCurrentLayout(m_pLayout); RegisterFillerPageStyle(); return false; @@ -278,14 +281,17 @@ bool LwpMasterPage::RegisterMasterPage(LwpFrib* pFrib) case LwpLayout::StartOnOddPage: //fall through case LwpLayout::StartOnEvenPage: { - LwpStory* pStory = dynamic_cast<LwpStory*>(m_pPara->GetStoryID().obj().get()); - pStory->SetCurrentLayout(m_pLayout); - //get odd page layout when the current pagelayout is mirror - m_pLayout = pStory->GetCurrentLayout(); - m_bNewSection = IsNeedSection(); - //bSectionColumns = m_bNewSection; - pOverStyle->SetMasterPage( m_pLayout->GetStyleName()); - RegisterFillerPageStyle(); + pStory = dynamic_cast<LwpStory*>(m_pPara->GetStoryID().obj().get()); + if (pStory) + { + pStory->SetCurrentLayout(m_pLayout); + //get odd page layout when the current pagelayout is mirror + m_pLayout = pStory->GetCurrentLayout(); + m_bNewSection = IsNeedSection(); + //bSectionColumns = m_bNewSection; + pOverStyle->SetMasterPage( m_pLayout->GetStyleName()); + RegisterFillerPageStyle(); + } break; } default: @@ -293,7 +299,10 @@ bool LwpMasterPage::RegisterMasterPage(LwpFrib* pFrib) } //register tab style; - LwpStory* pStory = dynamic_cast<LwpStory*>(m_pPara->GetStoryID().obj().get()); + pStory = dynamic_cast<LwpStory*>(m_pPara->GetStoryID().obj().get()); + if (!pStory) + return false; + pStory->SetTabLayout(m_pLayout); m_pPara->RegisterTabStyle(pOverStyle); @@ -305,7 +314,7 @@ bool LwpMasterPage::RegisterMasterPage(LwpFrib* pFrib) XFSectionStyle* pSectStyle= new XFSectionStyle(); //set margin pStory = dynamic_cast<LwpStory*>(m_pPara->GetStoryID().obj().get()); - if(pStory) + if (pStory) { LwpPageLayout* pCurrentLayout = pStory->GetCurrentLayout(); double fLeft = m_pLayout->GetMarginsValue(MARGIN_LEFT)- pCurrentLayout->GetMarginsValue(MARGIN_LEFT); |