svx/source/sdr/attribute/sdrtextattribute.cxx | 13 ++++++------- sw/source/core/layout/layact.cxx | 1 + 2 files changed, 7 insertions(+), 7 deletions(-)
New commits: commit 9eb16c85d6af4b73de9a75716c3ff34f929f26b2 Author: Caolán McNamara <caol...@redhat.com> Date: Wed Jun 3 14:15:03 2015 +0100 don't crash on layout of ooo55381-1.sxw The pLay here is getting joined and thus deleted in a stack of FormatLayoutTabs so set it as unjoinable for the duration that we expect pLay to remain valid Change-Id: Iedfaf710022ad19c0f415cee84f70c74dd7dbd96 diff --git a/sw/source/core/layout/layact.cxx b/sw/source/core/layout/layact.cxx index fa4c289..c06706e 100644 --- a/sw/source/core/layout/layact.cxx +++ b/sw/source/core/layout/layact.cxx @@ -1393,6 +1393,7 @@ bool SwLayAction::FormatLayout( SwLayoutFrm *pLay, bool bAddRect ) if ( pLay->IsFootnoteFrm() ) // no LayFrms as Lower return bChanged; + FlowFrmJoinLockGuard aJoinGuard(pLay); SwFrm *pLow = pLay->Lower(); bool bTabChanged = false; while ( pLow && pLow->GetUpper() == pLay ) commit 768a2d61c3b0a71fef0d9d732ae83938fe24633e Author: Caolán McNamara <caol...@redhat.com> Date: Tue Jun 2 20:37:04 2015 +0100 coverity#1302605 Resource leak in object Change-Id: I574714c2d587ac22fcc812ffe8217f151ac40cb6 diff --git a/svx/source/sdr/attribute/sdrtextattribute.cxx b/svx/source/sdr/attribute/sdrtextattribute.cxx index 45b55fb..ddd1ce1 100644 --- a/svx/source/sdr/attribute/sdrtextattribute.cxx +++ b/svx/source/sdr/attribute/sdrtextattribute.cxx @@ -38,7 +38,7 @@ namespace drawinglayer // all-text attributes. The SdrText itself and a copy // of the OPO const SdrText* mpSdrText; - const OutlinerParaObject* mpOutlinerParaObject; + std::shared_ptr<OutlinerParaObject> mxOutlinerParaObject; // Set when it's a FormText; contains all FormText attributes SdrFormTextAttribute maSdrFormTextAttribute; @@ -88,7 +88,7 @@ namespace drawinglayer bool bFixedCellHeight, bool bWrongSpell) : mpSdrText(pSdrText), - mpOutlinerParaObject(new OutlinerParaObject(rOutlinerParaObject)), + mxOutlinerParaObject(new OutlinerParaObject(rOutlinerParaObject)), maSdrFormTextAttribute(), maTextLeftDistance(aTextLeftDistance), maTextUpperDistance(aTextUpperDistance), @@ -125,7 +125,6 @@ namespace drawinglayer ImpSdrTextAttribute() : mpSdrText(0), - mpOutlinerParaObject(0), maSdrFormTextAttribute(), maTextLeftDistance(0), maTextUpperDistance(0), @@ -155,8 +154,8 @@ namespace drawinglayer const OutlinerParaObject& getOutlinerParaObject() const { - assert(mpOutlinerParaObject && "Access to OutlinerParaObject of default version of ImpSdrTextAttribute (!)"); - return *mpOutlinerParaObject; + assert(mxOutlinerParaObject && "Access to OutlinerParaObject of default version of ImpSdrTextAttribute (!)"); + return *mxOutlinerParaObject; } bool isContour() const { return mbContour; } @@ -180,9 +179,9 @@ namespace drawinglayer // compare operator bool operator==(const ImpSdrTextAttribute& rCandidate) const { - if(mpOutlinerParaObject != rCandidate.mpOutlinerParaObject) + if (mxOutlinerParaObject.get() != rCandidate.mxOutlinerParaObject.get()) { - if(mpOutlinerParaObject && rCandidate.mpOutlinerParaObject) + if (mxOutlinerParaObject && rCandidate.mxOutlinerParaObject) { // compares OPO and it's contents, but traditionally not the RedLining // which is not seen as model, but as temporary information
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits