summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2013-07-03 15:58:31 +0200
committerMichael Stahl <mstahl@redhat.com>2013-07-03 16:38:35 +0200
commitf8dfa3a81a5382b2f18a705bd512625754167573 (patch)
tree8d410529d2077deb5db3af0da88a69f1f4b6ae91
parent0be6adc8fcf9f4017b409aa3ec51a1e8c663e608 (diff)
sw: remove SwDoc::ShareLayout
It is a crude hack that is no longer necessary because the underlying problems that caused crashes when deleting the layout have been fixed. Change-Id: I601bdb0dc0aff5f4ddb8b8f4ba4c8d1f72c76666
-rw-r--r--sw/inc/doc.hxx4
-rw-r--r--sw/source/core/doc/doclay.cxx5
-rw-r--r--sw/source/core/doc/docnew.cxx1
-rw-r--r--sw/source/core/view/vnew.cxx11
4 files changed, 0 insertions, 21 deletions
diff --git a/sw/inc/doc.hxx b/sw/inc/doc.hxx
index e3eeb61f9f5a..9a6d715b8774 100644
--- a/sw/inc/doc.hxx
+++ b/sw/inc/doc.hxx
@@ -79,7 +79,6 @@ class SwList;
#include <memory>
#include <boost/scoped_ptr.hpp>
-#include <boost/shared_ptr.hpp>
#include <boost/ptr_container/ptr_vector.hpp>
namespace editeng { class SvxBorderLine; }
@@ -317,7 +316,6 @@ class SW_DLLPUBLIC SwDoc :
SwDefTOXBase_Impl * mpDefTOXBases; ///< defaults of SwTOXBase's
ViewShell *mpCurrentView; ///< SwDoc should get a new member mpCurrentView//swmod 071225
- boost::shared_ptr<SwRootFrm> mpLayoutPtr;
SdrModel *mpDrawModel; ///< StarView Drawing
SwDocUpdtFld *mpUpdtFlds; ///< Struct for updating fields
@@ -1770,8 +1768,6 @@ public:
const SwDocShell* GetDocShell() const { return mpDocShell; }
void SetDocShell( SwDocShell* pDSh );
- void ShareLayout( boost::shared_ptr<SwRootFrm>& rPtr);
-
/** in case during copying of embedded object a new shell is created,
it should be set here and cleaned later */
void SetTmpDocShell( SfxObjectShellLock rLock ) { mxTmpDocShell = rLock; }
diff --git a/sw/source/core/doc/doclay.cxx b/sw/source/core/doc/doclay.cxx
index b320e79779e3..926a8c701f2f 100644
--- a/sw/source/core/doc/doclay.cxx
+++ b/sw/source/core/doc/doclay.cxx
@@ -2303,9 +2303,4 @@ std::set<SwRootFrm*> SwDoc::GetAllLayouts()
return aAllLayouts;
} //swmod 070825
-void SwDoc::ShareLayout(boost::shared_ptr<SwRootFrm>& rPtr)
-{
- mpLayoutPtr = rPtr;
-}
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/core/doc/docnew.cxx b/sw/source/core/doc/docnew.cxx
index 88707bb9d6ae..e2ace8c56006 100644
--- a/sw/source/core/doc/docnew.cxx
+++ b/sw/source/core/doc/docnew.cxx
@@ -519,7 +519,6 @@ SwDoc::~SwDoc()
delete mpPgPViewPrtData;
mbDtor = true;
- mpLayoutPtr.reset();
delete mpRedlineTbl;
delete mpUnoCrsrTbl;
diff --git a/sw/source/core/view/vnew.cxx b/sw/source/core/view/vnew.cxx
index a8b293e2a6a3..2c3053aa3203 100644
--- a/sw/source/core/view/vnew.cxx
+++ b/sw/source/core/view/vnew.cxx
@@ -128,17 +128,6 @@ void ViewShell::Init( const SwViewOption *pNewOpt )
// switched to two step construction because creating the layout in SwRootFrm needs a valid pLayout set
mpLayout = SwRootFrmPtr(new SwRootFrm( mpDoc->GetDfltFrmFmt(), this ));
mpLayout->Init( mpDoc->GetDfltFrmFmt() );
-
- // mba: the layout refactoring overlooked an important detail
- // prior to that change, the layout always was destroyed in the dtor of swdoc
- // it is necessary to suppress notifications in the layout when the layout is discarded in its dtor
- // unfortunately this was done by asking whether the doc is in dtor - though the correct question should
- // have been if the rootfrm is in dtor (or even better: discard the layout before the SwRootFrm is destroyed!)
- // SwDoc::IsInDtor() is used at several places all over the code that need to be checked whether
- // "pDoc->IsInDtor()" means what is says or in fact should check for "pRootFrm->IsInDtor()". As this will take some time, I decided
- // to postpone that investigations and the changes it will bring to the 3.5 release and for 3.4 make sure
- // that the layout still gets destroyed in the doc dtor. This is done by sharing "the" layout (that we still have) with the doc.
- GetDoc()->ShareLayout( mpLayout );
}
}
SizeChgNotify(); //swmod 071108