connectivity/source/drivers/firebird/PreparedStatement.cxx | 10 +- connectivity/source/drivers/firebird/Util.cxx | 16 +-- extensions/source/abpilot/typeselectionpage.cxx | 2 javaunohelper/com/sun/star/comp/helper/Bootstrap.java | 58 +++++++++++-- lotuswordpro/source/filter/lwpfrib.cxx | 4 lotuswordpro/source/filter/lwpfribmark.cxx | 4 lotuswordpro/source/filter/lwpfribptr.cxx | 9 +- lotuswordpro/source/filter/lwpfribsection.cxx | 47 ++++++---- lotuswordpro/source/filter/lwpfribtable.cxx | 10 +- lotuswordpro/source/filter/lwplayout.cxx | 11 +- lotuswordpro/source/filter/lwplayout.hxx | 12 ++ lotuswordpro/source/filter/lwppara.cxx | 6 - lotuswordpro/source/filter/lwptoc.cxx | 7 + lotuswordpro/source/filter/xfilter/xfcell.cxx | 2 sc/source/filter/excel/xechart.cxx | 1 sw/source/core/view/viewsh.cxx | 4 16 files changed, 139 insertions(+), 64 deletions(-)
New commits: commit 5800444912989f58e827daabcb51be080b42bfb1 Author: Caolán McNamara <[email protected]> Date: Tue Dec 29 10:54:53 2015 +0000 return early if Container invalidated Change-Id: I3983070f1fe447e4b75b956cf95d3b3c5266b3f9 (cherry picked from commit 78c6be9cf3c9c3c87d2f41981bdc61047171eafe) (cherry picked from commit 312ae095c17812f40d08997acc058a1314675af5) Reviewed-on: https://gerrit.libreoffice.org/21001 Tested-by: Jenkins <[email protected]> Reviewed-by: David Tardon <[email protected]> (cherry picked from commit 7fd61a5e182597ddf41bb957dcaef11fe0eef816) diff --git a/lotuswordpro/source/filter/lwppara.cxx b/lotuswordpro/source/filter/lwppara.cxx index 520be75..1825dee 100644 --- a/lotuswordpro/source/filter/lwppara.cxx +++ b/lotuswordpro/source/filter/lwppara.cxx @@ -253,6 +253,8 @@ void LwpPara::Parse(IXFStream* pOutputStream) { m_pXFContainer = new XFContentContainer; XFConvert(m_pXFContainer); + if (!m_pXFContainer) + return; m_pXFContainer->ToXml(pOutputStream); m_pXFContainer->Reset(); delete m_pXFContainer; commit 176802fa72c9952b1ea7ea632cfcaa198b9c0290 Author: Caolán McNamara <[email protected]> Date: Mon Dec 28 14:43:50 2015 +0000 guard against infinite recursion in GetGeometry (cherry picked from commit 9ec011f6874cf663db54d0420c41d9299e4ed882) (cherry picked from commit 02c113a3ab57d7880bb1f794e192fb42aea078e1) Change-Id: I901f77f5846512cb528f2e14bbc50409fa29bef2 Reviewed-on: https://gerrit.libreoffice.org/20988 Reviewed-by: David Tardon <[email protected]> Tested-by: David Tardon <[email protected]> (cherry picked from commit ab8c84b1b1d14adc0cabbc063ba8a5132a540201) diff --git a/lotuswordpro/source/filter/lwplayout.cxx b/lotuswordpro/source/filter/lwplayout.cxx index a0d3a510..53e1261 100644 --- a/lotuswordpro/source/filter/lwplayout.cxx +++ b/lotuswordpro/source/filter/lwplayout.cxx @@ -585,9 +585,12 @@ void LwpLayoutMisc::Read(LwpObjectStream* pStrm) } LwpMiddleLayout::LwpMiddleLayout( LwpObjectHeader &objHdr, LwpSvStream* pStrm ) - : LwpVirtualLayout(objHdr, pStrm), - m_pStyleStuff(new LwpLayoutStyle), m_pMiscStuff(new LwpLayoutMisc) -{} + : LwpVirtualLayout(objHdr, pStrm) + , m_pStyleStuff(new LwpLayoutStyle) + , m_pMiscStuff(new LwpLayoutMisc) + , m_bGettingGeometry(false) +{ +} LwpMiddleLayout::~LwpMiddleLayout() { @@ -663,7 +666,7 @@ rtl::Reference<LwpObject> LwpMiddleLayout::GetBasedOnStyle() * @descr: Get the geometry of current layout * */ -LwpLayoutGeometry* LwpMiddleLayout::GetGeometry() +LwpLayoutGeometry* LwpMiddleLayout::Geometry() { if( !m_LayGeometry.IsNull() ) { diff --git a/lotuswordpro/source/filter/lwplayout.hxx b/lotuswordpro/source/filter/lwplayout.hxx index 749513b..f540aec 100644 --- a/lotuswordpro/source/filter/lwplayout.hxx +++ b/lotuswordpro/source/filter/lwplayout.hxx @@ -321,7 +321,15 @@ public: virtual bool MarginsSameAsParent() SAL_OVERRIDE; virtual double MarginsValue(const sal_uInt8& nWhichSide) SAL_OVERRIDE; virtual double GetExtMarginsValue(const sal_uInt8& nWhichSide) SAL_OVERRIDE; - LwpLayoutGeometry* GetGeometry(); + LwpLayoutGeometry* GetGeometry() + { + if (m_bGettingGeometry) + throw std::runtime_error("recursion in layout"); + m_bGettingGeometry = true; + auto pRet = Geometry(); + m_bGettingGeometry = false; + return pRet; + } double GetGeometryHeight(); double GetGeometryWidth(); LwpBorderStuff* GetBorderStuff(); @@ -369,6 +377,7 @@ protected: void Read() SAL_OVERRIDE; private: LwpObjectID m_BasedOnStyle; + LwpLayoutGeometry* Geometry(); protected: enum { @@ -387,6 +396,7 @@ protected: LwpObjectID m_LayBorderStuff; LwpObjectID m_LayBackgroundStuff; LwpObjectID m_LayExtBorderStuff; + bool m_bGettingGeometry; public: LwpObjectID& GetContent() { return m_Content; } LwpTabOverride* GetTabOverride(); commit 733974d3d2b85ae094bbe9a810e6a87008781962 Author: Caolán McNamara <[email protected]> Date: Sun Dec 27 20:14:27 2015 +0000 guard against missing Foundry Change-Id: I5ba66ff020b8226ac01af985f68c3ef67057c01a (cherry picked from commit 7f9b57bda4d88262ecbe45188888c744913b9770) (cherry picked from commit 5ae038d2341e4a7f8dedb77be75efd557d01bcc9) Reviewed-on: https://gerrit.libreoffice.org/20967 Tested-by: Jenkins <[email protected]> Reviewed-by: David Tardon <[email protected]> (cherry picked from commit 934e28385b5e7462a36780a04a08013d00924fb5) diff --git a/lotuswordpro/source/filter/lwpfribmark.cxx b/lotuswordpro/source/filter/lwpfribmark.cxx index 143a00f..2a51e0e 100644 --- a/lotuswordpro/source/filter/lwpfribmark.cxx +++ b/lotuswordpro/source/filter/lwpfribmark.cxx @@ -136,12 +136,12 @@ void LwpFribCHBlock::XFConvert(XFContentContainer* pXFPara,LwpStory* pStory) void LwpFribBookMark::RegisterStyle(LwpFoundry* pFoundry) { OUString name; - LwpBookMark* pBook = pFoundry->GetBookMark(GetMarkerID()); + LwpBookMark* pBook = pFoundry ? pFoundry->GetBookMark(GetMarkerID()) : nullptr; if (pBook) name = pBook->GetName(); OUString sDivision; - LwpDocument* pDoc = pFoundry->GetDocument(); + LwpDocument* pDoc = pFoundry ? pFoundry->GetDocument() : nullptr; if (pDoc) { LwpObjectID& rID = pDoc->GetDivInfoID(); commit b2a62de9bee2eeaa38a273feb266c024ea024439 Author: Caolán McNamara <[email protected]> Date: Sun Dec 27 20:18:08 2015 +0000 guard against missing Container Layout Change-Id: Ie43b13448a6cacd3af4822b85f06ed84a2d38ff9 (cherry picked from commit 932c74e38ca397d82d609831e79ceaef2183cf64) (cherry picked from commit 1b2015281ee34f187fdb747db5f6223e8de63df4) Reviewed-on: https://gerrit.libreoffice.org/20968 Reviewed-by: David Tardon <[email protected]> Tested-by: David Tardon <[email protected]> (cherry picked from commit 7f4fcdbda41753c7923974c0af58271e38cdabe3) diff --git a/lotuswordpro/source/filter/lwptoc.cxx b/lotuswordpro/source/filter/lwptoc.cxx index ce2c239..ec6cb5e 100644 --- a/lotuswordpro/source/filter/lwptoc.cxx +++ b/lotuswordpro/source/filter/lwptoc.cxx @@ -287,7 +287,10 @@ void LwpTocSuperLayout::XFConvertFrame(XFContentContainer* pCont, sal_Int32 nSt XFContentContainer * pTableContainer = pXFFrame; // if *this is a TOCSuperTableLayout and it's located in a cell // add the frame to upper level and add TOCSuperTableLayout into the frame - if ( GetContainerLayout()->IsCell() ) + rtl::Reference<LwpVirtualLayout> xContainer(GetContainerLayout()); + if (!xContainer.is()) + return; + if (xContainer->IsCell()) { pTableContainer = pCont; // TOC contain table directly pXFFrame->Add(pCont); @@ -296,7 +299,7 @@ void LwpTocSuperLayout::XFConvertFrame(XFContentContainer* pCont, sal_Int32 nSt else { //add frame to the container - pCont ->Add(pXFFrame); + pCont->Add(pXFFrame); } pTableLayout->XFConvert(pTableContainer); } commit ea16a20b15db733cc9bf35d4fc9cd9624ed2e2ce Author: Lionel Elie Mamane <[email protected]> Date: Fri Dec 18 16:54:00 2015 +0100 tdf#96572 firebird correctly transmit request for NULL even if column is not nullable Conflicts: connectivity/source/drivers/firebird/Util.cxx Change-Id: I72ceda68e983125aef26c8f0aacc06320bd16b77 Reviewed-on: https://gerrit.libreoffice.org/20793 Tested-by: Jenkins <[email protected]> Reviewed-by: Caolán McNamara <[email protected]> Tested-by: Caolán McNamara <[email protected]> (cherry picked from commit 93c15f226cfd424682178883b0a525707d5303ea) diff --git a/connectivity/source/drivers/firebird/PreparedStatement.cxx b/connectivity/source/drivers/firebird/PreparedStatement.cxx index 3a78378..e4548a4 100644 --- a/connectivity/source/drivers/firebird/PreparedStatement.cxx +++ b/connectivity/source/drivers/firebird/PreparedStatement.cxx @@ -706,13 +706,13 @@ void OPreparedStatement::setParameterNull(sal_Int32 nParameterIndex, bool bSetNull) { XSQLVAR* pVar = m_pInSqlda->sqlvar + (nParameterIndex - 1); - if (pVar->sqltype & 1) + if (bSetNull) { - if (bSetNull) - *pVar->sqlind = -1; - else - *pVar->sqlind = 0; + pVar->sqltype |= 1; + *pVar->sqlind = -1; } + else + *pVar->sqlind = 0; } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/connectivity/source/drivers/firebird/Util.cxx b/connectivity/source/drivers/firebird/Util.cxx index c8f182d..263d1cf 100644 --- a/connectivity/source/drivers/firebird/Util.cxx +++ b/connectivity/source/drivers/firebird/Util.cxx @@ -254,11 +254,8 @@ void firebird::mallocSQLVAR(XSQLDA* pSqlda) assert(false); break; } - if (pVar->sqltype & 1) - { - /* allocate variable to hold NULL status */ - pVar->sqlind = static_cast<short *>(malloc(sizeof(short))); - } + /* allocate variable to hold NULL status */ + pVar->sqlind = static_cast<short *>(malloc(sizeof(short))); } } @@ -302,13 +299,10 @@ void firebird::freeSQLVAR(XSQLDA* pSqlda) break; } - if (pVar->sqltype & 1) + if(pVar->sqlind) { - if(pVar->sqlind) - { - free(pVar->sqlind); - pVar->sqlind = NULL; - } + free(pVar->sqlind); + pVar->sqlind = NULL; } } } commit f8887d73444afe1a61beb24e3d4469f99159afbe Author: Caolán McNamara <[email protected]> Date: Wed Dec 23 15:33:36 2015 +0000 guard against missing DropcapMgr and Foundry Change-Id: I1007d4fac2514bc165941c70109cd8e3d57153cd (cherry picked from commit 330127baf96c417e0eeaef9808d124788b547cf3) (cherry picked from commit e616ff7e29ee10d0c3ea2dc6a8fc135b87b572b7) Reviewed-on: https://gerrit.libreoffice.org/20910 Reviewed-by: David Tardon <[email protected]> Tested-by: David Tardon <[email protected]> (cherry picked from commit ec066b44392f8ed1015540220b6b4620facd873e) diff --git a/lotuswordpro/source/filter/lwpfribptr.cxx b/lotuswordpro/source/filter/lwpfribptr.cxx index 79486a2..e69b508 100644 --- a/lotuswordpro/source/filter/lwpfribptr.cxx +++ b/lotuswordpro/source/filter/lwpfribptr.cxx @@ -288,10 +288,15 @@ void LwpFribPtr::XFConvert() LwpFribFrame* frameFrib= static_cast<LwpFribFrame*>(pFrib); rtl::Reference<LwpObject> pLayout = frameFrib->GetLayout(); if (pLayout.is() && pLayout->GetTag() == VO_DROPCAPLAYOUT) - m_pPara->GetFoundry()->GetDropcapMgr()->SetXFPara(m_pXFPara); + { + LwpFoundry* pFoundry = m_pPara->GetFoundry(); + LwpDropcapMgr* pMgr = pFoundry ? pFoundry->GetDropcapMgr() : nullptr; + if (pMgr) + pMgr->SetXFPara(m_pXFPara); + } frameFrib->XFConvert(m_pXFPara); - } break; + } case FRIB_TAG_CHBLOCK: { LwpFribCHBlock* chbFrib = static_cast<LwpFribCHBlock*>(pFrib); commit 9b2abf2d84b37050f47484e515f26902b4ac88d4 Author: Caolán McNamara <[email protected]> Date: Tue Dec 22 20:09:17 2015 +0000 guard against missing ContentContainer Change-Id: I4f2c5d53148deb02d990edc42140c23f02409cea (cherry picked from commit 8a05b74eeb8d5e0955fbe3cefd945cdc9bffa3f5) (cherry picked from commit e439aebde0f60e7fe9bb19e96964eb3d26e50e3c) Reviewed-on: https://gerrit.libreoffice.org/20884 Reviewed-by: David Tardon <[email protected]> Tested-by: David Tardon <[email protected]> (cherry picked from commit 3968eec7145d20b398a196bf72ce51f16cebae9e) diff --git a/lotuswordpro/source/filter/lwpfribtable.cxx b/lotuswordpro/source/filter/lwpfribtable.cxx index 6066592..9b69ac7 100644 --- a/lotuswordpro/source/filter/lwpfribtable.cxx +++ b/lotuswordpro/source/filter/lwpfribtable.cxx @@ -112,7 +112,7 @@ void LwpFribTable::XFConvert(XFContentContainer* pCont) pXFContentContainer = m_pPara->GetXFContainer(); //delete the additional blank para, 06/28/2005 XFParagraph* pCurrPara = m_pPara->GetFribs().GetXFPara(); - if(!pCurrPara->HasContents()) + if (pXFContentContainer && !pCurrPara->HasContents()) { if(pXFContentContainer->GetLastContent() == pCurrPara) { @@ -144,18 +144,20 @@ void LwpFribTable::XFConvert(XFContentContainer* pCont) LwpGlobalMgr* pGlobal = LwpGlobalMgr::GetInstance(); LwpChangeMgr* pChangeMgr = pGlobal->GetLwpChangeMgr(); sChangeID = pChangeMgr->GetChangeID(this); - if (!sChangeID.isEmpty()) + if (!sChangeID.isEmpty() && pXFContentContainer) { XFChangeStart* pChangeStart = new XFChangeStart; pChangeStart->SetChangeID(sChangeID); pXFContentContainer->Add(pChangeStart); } } - pSuper->XFConvert(pXFContentContainer); + + if (pXFContentContainer) + pSuper->XFConvert(pXFContentContainer); if(m_bRevisionFlag) { - if (!sChangeID.isEmpty()) + if (!sChangeID.isEmpty() && pXFContentContainer) { XFChangeEnd* pChangeEnd = new XFChangeEnd; pChangeEnd->SetChangeID(sChangeID); commit b6f2b0ad2dfd49aa58ebfbd9576ca5eb1b10e279 Author: Caolán McNamara <[email protected]> Date: Sat Dec 19 12:34:34 2015 +0000 coverity#1343623 Logically dead code (cherry picked from commit 8f3c796ecf926f81f6229fbb040095286c8adbfe) coverity#1343624 Unchecked dynamic_cast (cherry picked from commit 26fddc3196c7ab932ada544b84b74da06fa2596d) coverity#1343625 Unchecked dynamic_cast (cherry picked from commit 9e83e31019cdc68e5324a10ef76417b46720cfe9) coverity#1343626 Unchecked dynamic_cast (cherry picked from commit c2f1731685014b9df386dfb59900783c3ca3acb7) coverity#1343627 Unchecked dynamic_cast (cherry picked from commit 1276f6daf28f61d911da9885e0cac738931e4de4) coverity#1343629 Unchecked dynamic_cast (cherry picked from commit 274d265e42ab89be29af21ef5cc1cbf20b3d35a2) 1343630 Dereference after null check (cherry picked from commit 960cfb7e3ba56fe06f45c523e086ee6d4b95e685) (cherry picked from commit 7e6e8aa8c51e13b016118720fc28f39a572bb8e4) Change-Id: Ibcf05263f7bea50f70d55f4d8944d0a41d54851d a303a5dc97fb5e491e86a3484040e657f1b480d4 b534e4e8ecf50a9159c5e98e2c899bf13f44c654 52e6d6c9cb48880185293fb9825d7a6530ee767d 83c0febcbbf0f19a05818e0575921d1d6254935f 93b7298d785e57a4ef854cea3e9cd5c2c0f35849 81223b868f069755e8a46c57bfe0282021f26de7 Reviewed-on: https://gerrit.libreoffice.org/20832 Reviewed-by: David Tardon <[email protected]> Tested-by: David Tardon <[email protected]> (cherry picked from commit b8b7669d2e48f491cd9d8e6a32f61a121ae8034f) diff --git a/lotuswordpro/source/filter/lwpfrib.cxx b/lotuswordpro/source/filter/lwpfrib.cxx index d578007..96833c7 100644 --- a/lotuswordpro/source/filter/lwpfrib.cxx +++ b/lotuswordpro/source/filter/lwpfrib.cxx @@ -257,11 +257,13 @@ void LwpFrib::RegisterStyle(LwpFoundry* pFoundry) } if (pNamedStyle) { + LwpCharacterStyle* pCharStyle = nullptr; if (m_pModifiers->FontID && pFoundry) + pCharStyle = dynamic_cast<LwpCharacterStyle*>(m_pModifiers->CharStyleID.obj().get()); + if (pCharStyle) { pStyle = new XFTextStyle(); *pStyle = *pNamedStyle; - LwpCharacterStyle* pCharStyle = dynamic_cast<LwpCharacterStyle*>(m_pModifiers->CharStyleID.obj().get()); pStyle->SetStyleName(""); pFont = pFoundry->GetFontManger().CreateOverrideFont(pCharStyle->GetFinalFontID(),m_pModifiers->FontID); diff --git a/lotuswordpro/source/filter/lwpfribsection.cxx b/lotuswordpro/source/filter/lwpfribsection.cxx index e14993c..74cc81d 100644 --- a/lotuswordpro/source/filter/lwpfribsection.cxx +++ b/lotuswordpro/source/filter/lwpfribsection.cxx @@ -193,7 +193,7 @@ void LwpFribSection::SetDefaultAlphaIndex(XFIndex * pXFIndex) LwpIndexSection* pIndexSection = dynamic_cast<LwpIndexSection*>(m_Section.obj().get()); XFIndexTemplate * pTemplateSep = new XFIndexTemplate(); - if (pIndexSection->IsFormatSeparator()) + if (pIndexSection && pIndexSection->IsFormatSeparator()) { pXFIndex->SetSeparator(true); pTemplateSep->AddEntry(enumXFIndexTemplateText,""); @@ -219,7 +219,7 @@ void LwpFribSection::SetDefaultAlphaIndex(XFIndex * pXFIndex) pTemplate3->AddEntry(enumXFIndexTemplateTab,""); pTemplate3->AddEntry(enumXFIndexTemplatePage,""); - if (pIndexSection->IsFormatRunin()) + if (pIndexSection && pIndexSection->IsFormatRunin()) { //pXFIndex->AddTemplate(OUString::number(2),"Primary",pTemplate2); //pXFIndex->AddTemplate(OUString::number(3),"Primary",pTemplate3); @@ -247,10 +247,13 @@ LwpMasterPage::LwpMasterPage(LwpPara* pPara, LwpPageLayout* pLayout) */ bool LwpMasterPage::RegisterMasterPage(LwpFrib* pFrib) { - //if there is no other frib after current firb, register master page in starting para of next page - if(IsNextPageType()&&(!pFrib->HasNextFrib())) + //if there is no other frib after current frib, register master page in starting para of next page + 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; @@ -281,14 +284,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: @@ -296,7 +302,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); @@ -308,7 +317,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); @@ -341,7 +350,7 @@ bool LwpMasterPage::IsNeedSection() //get story LwpStory* pStory = dynamic_cast<LwpStory*>(m_pPara->GetStoryID().obj().get()); //if pagelayout is modified, register the pagelayout - if(pStory->IsPMModified()) + if (pStory && pStory->IsPMModified()) { bNewSection = pStory->IsNeedSection(); } @@ -398,13 +407,13 @@ void LwpMasterPage::ParseSection(LwpFrib* pFrib) pCurrContainer->RemoveLastContent(); } } - //end,06/28/2005 - pStory->AddXFContent( pContent ); + if (pStory) + pStory->AddXFContent( pContent ); } else { LwpStory* pStory = dynamic_cast<LwpStory*> ( m_pPara->GetStoryID().obj().get() ); - pContent = pStory->GetXFContent(); + pContent = pStory ? pStory->GetXFContent() : nullptr; } if(pContent) { diff --git a/lotuswordpro/source/filter/lwppara.cxx b/lotuswordpro/source/filter/lwppara.cxx index e021833..520be75 100644 --- a/lotuswordpro/source/filter/lwppara.cxx +++ b/lotuswordpro/source/filter/lwppara.cxx @@ -311,7 +311,7 @@ void LwpPara::XFConvert(XFContentContainer* pCont) m_Fribs.SetXFPara(pPara); m_Fribs.XFConvert(); - if (m_pBreaks) + if (m_pBreaks && m_pXFContainer) AddBreakAfter(m_pXFContainer); } diff --git a/lotuswordpro/source/filter/xfilter/xfcell.cxx b/lotuswordpro/source/filter/xfilter/xfcell.cxx index 31ad0a0..7dde717 100644 --- a/lotuswordpro/source/filter/xfilter/xfcell.cxx +++ b/lotuswordpro/source/filter/xfilter/xfcell.cxx @@ -100,7 +100,7 @@ void XFCell::Add(XFContent *pContent) } if( pContent->GetContentType() == enumXFContentTable ) { - XFTable *pTable = static_cast<XFTable*>(pContent); + XFTable *pTable = dynamic_cast<XFTable*>(pContent); if( !pTable ) return; //the sub table will fill all the cell, there can't be other contents. commit 743fc27ca8e647982faabc0ab60346586eb44ceb Author: Julien Nabet <[email protected]> Date: Wed Dec 9 22:14:21 2015 +0100 tdf#96368: Address book wizard with no selection returns Evolution Don't select an option which is not even visible Change-Id: I003c835d7d623e559d67098de48efdf057a64422 Reviewed-on: https://gerrit.libreoffice.org/20552 Tested-by: Jenkins <[email protected]> Reviewed-by: Julien Nabet <[email protected]> (cherry picked from commit 7b69dd64be71d1420158a553fb5ec861039cb017) Reviewed-on: https://gerrit.libreoffice.org/20558 Tested-by: Julien Nabet <[email protected]> (cherry picked from commit 6158def661f8281c4fc3493c7e2a1753d3891437) Reviewed-on: https://gerrit.libreoffice.org/20559 Reviewed-by: Caolán McNamara <[email protected]> Tested-by: Caolán McNamara <[email protected]> (cherry picked from commit dc66e55c53d55a91fffa7591fec96cb9578e71e3) diff --git a/extensions/source/abpilot/typeselectionpage.cxx b/extensions/source/abpilot/typeselectionpage.cxx index 90bdf31..cfc9464 100644 --- a/extensions/source/abpilot/typeselectionpage.cxx +++ b/extensions/source/abpilot/typeselectionpage.cxx @@ -219,7 +219,7 @@ namespace abp loop != m_aAllTypes.end(); ++loop ) { ButtonItem aItem = (*loop); - if ( aItem.m_pItem->IsChecked() ) + if ( aItem.m_pItem->IsChecked() && aItem.m_bVisible ) return aItem.m_eType; } commit dc399464d62687bf0a0aed1a4c6f1413b8b06197 Author: Miklos Vajna <[email protected]> Date: Tue Dec 22 09:08:18 2015 +0100 tdf#93009 SwViewShell: fix printing of comments on the margin Clipping was set not only in case of VCL-level double buffering, but also during printing, which means comments were excluded from the output. (cherry picked from commit d6913850585eae90ea9179129fe7b60a2a4305ad) Change-Id: Iffb7d91ca78c09e2b43133f5049d52bd7dc4e730 Reviewed-on: https://gerrit.libreoffice.org/20872 Tested-by: Jenkins <[email protected]> Reviewed-by: Caolán McNamara <[email protected]> Tested-by: Caolán McNamara <[email protected]> (cherry picked from commit be005a7a4ec5934372d4b13b96b22d2c8659ed95) diff --git a/sw/source/core/view/viewsh.cxx b/sw/source/core/view/viewsh.cxx index 9112bfb..a660c96 100644 --- a/sw/source/core/view/viewsh.cxx +++ b/sw/source/core/view/viewsh.cxx @@ -211,8 +211,8 @@ void SwViewShell::DLPrePaint2(const vcl::Region& rRegion) mpBufferedOut = mpOut; mpOut = &(mpTargetPaintWindow->GetTargetOutputDevice()); } - else - // In case mpOut is used without buffering, need to set clipping. + else if (isOutputToWindow()) + // In case mpOut is used without buffering and we're not printing, need to set clipping. mpOut->SetClipRegion(rRegion); // remember original paint MapMode for wrapped FlyFrame paints commit c2fb34b741ddc41e7adfb4a02087940d69fd5ec4 Author: Katarina Behrens <[email protected]> Date: Tue Dec 15 14:44:44 2015 +0100 tdf#86784: Pass custom options to Java bootstrap Reviewed-on: https://gerrit.libreoffice.org/20720 Reviewed-by: Noel Grandin <[email protected]> Tested-by: Noel Grandin <[email protected]> (cherry picked from commit 02002f83f156117cf178532d48abaa9319ee8cb4) Change-Id: I9e9c78387627e173dea8062e4a3f16bc396e8115 Reviewed-on: https://gerrit.libreoffice.org/20802 Reviewed-by: Stephan Bergmann <[email protected]> Tested-by: Stephan Bergmann <[email protected]> (cherry picked from commit bb6939cc689a44c1039508935312df98e12f4081) diff --git a/javaunohelper/com/sun/star/comp/helper/Bootstrap.java b/javaunohelper/com/sun/star/comp/helper/Bootstrap.java index 537959b..ba06ea9 100644 --- a/javaunohelper/com/sun/star/comp/helper/Bootstrap.java +++ b/javaunohelper/com/sun/star/comp/helper/Bootstrap.java @@ -91,6 +91,34 @@ public class Bootstrap { } /** + * Returns an array of default commandline options to start bootstrapped + * instance of soffice with. You may use it in connection with bootstrap + * method for example like this: + * <pre> + * List list = Arrays.asList( Bootstrap.getDefaultOptions() ); + * list.remove("--nologo"); + * list.remove("--nodefault"); + * list.add("--invisible"); + * + * Bootstrap.bootstrap( list.toArray( new String[list.size()] ); + * </pre> + * + * @return an array of default commandline options + * @see #bootstrap( String[] ) + * @since LibreOffice 5.1 + */ + public static final String[] getDefaultOptions() + { + return new String[] + { + "--nologo", + "--nodefault", + "--norestore", + "--nolockcheck" + }; + } + + /** * backwards compatibility stub. */ static public XComponentContext createInitialComponentContext( Hashtable<String, Object> context_entries ) @@ -247,6 +275,24 @@ public class Bootstrap { public static final XComponentContext bootstrap() throws BootstrapException { + String[] defaultArgArray = getDefaultOptions(); + return bootstrap( defaultArgArray ); + } + + /** + * Bootstraps the component context from a UNO installation. + * + * @param argArray + * an array of strings - commandline options to start instance of + * soffice with + * @see #getDefaultOptions() + * @return a bootstrapped component context. + * + * @since LibreOffice 5.1 + */ + public static final XComponentContext bootstrap( String[] argArray ) + throws BootstrapException { + XComponentContext xContext = null; try { @@ -270,13 +316,11 @@ public class Bootstrap { Long.toString( (new Random()).nextLong() & 0x7fffffffffffffffL ); // create call with arguments - String[] cmdArray = new String[] { - fOffice.getPath(), - "--nologo", - "--nodefault", - "--norestore", - "--nolockcheck", - "--accept=pipe,name=" + sPipeName + ";urp;" }; + String[] cmdArray = new String[ argArray.length + 2 ]; + cmdArray[0] = fOffice.getPath(); + cmdArray[1] = ( "--accept=pipe,name=" + sPipeName + ";urp;" ); + + System.arraycopy( argArray, 0, cmdArray, 2, argArray.length ); // start office process Process p = Runtime.getRuntime().exec( cmdArray ); commit ef6ee11e41aa8841317555236b0877eed0670920 Author: Caolán McNamara <[email protected]> Date: Fri Dec 18 17:06:17 2015 +0000 guard against missing XFContentContainer Change-Id: Ic974159f816bae465339e1b9abd2e247bbc2f206 (cherry picked from commit 0063b891424ba7023d376d12a7c54522bca087c6) (cherry picked from commit b2cc385892c24dba6481bff396d4125f58c92f65) Reviewed-on: https://gerrit.libreoffice.org/20795 Tested-by: Jenkins <[email protected]> Reviewed-by: Miklos Vajna <[email protected]> (cherry picked from commit 01ef568cbc3f33092c1ed3f04afced7cb85badf3) diff --git a/lotuswordpro/source/filter/lwppara.cxx b/lotuswordpro/source/filter/lwppara.cxx index ea746dd..e021833 100644 --- a/lotuswordpro/source/filter/lwppara.cxx +++ b/lotuswordpro/source/filter/lwppara.cxx @@ -880,7 +880,7 @@ void LwpPara::ParseDropcapContent() */ void LwpPara::AddBreakBefore(XFContentContainer* pCont) { - if (!m_pBreaks) + if (!m_pBreaks || !pCont) return; if (m_pBreaks->IsPageBreakBefore()) { commit 0fd184698adecd1bf79817b73e7dae7bb0267734 Author: Tomaž Vajngerl <[email protected]> Date: Sun Dec 20 22:13:19 2015 +0100 tdf#93949 ensure memory stream is properly flushed Change-Id: I6d6a926f5d3fd62dd3b7b78a5721f6483b3b4ee7 (cherry picked from commit c6b11cf681f8e8d131031ea7e5d19c4b6473503a) Reviewed-on: https://gerrit.libreoffice.org/20842 Tested-by: Jenkins <[email protected]> Reviewed-by: David Tardon <[email protected]> Tested-by: David Tardon <[email protected]> (cherry picked from commit a0a35440453102d215456e3e2f16b4ee207b16de) diff --git a/sc/source/filter/excel/xechart.cxx b/sc/source/filter/excel/xechart.cxx index 4b6c300..ce6746a 100644 --- a/sc/source/filter/excel/xechart.cxx +++ b/sc/source/filter/excel/xechart.cxx @@ -720,6 +720,7 @@ void XclExpChEscherFormat::WriteBody( XclExpStream& rStrm ) // write Escher property container via temporary memory stream SvMemoryStream aMemStrm; maData.mxEscherSet->Commit( aMemStrm ); + aMemStrm.Flush(); aMemStrm.Seek( STREAM_SEEK_TO_BEGIN ); rStrm.CopyFromStream( aMemStrm ); }
_______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
