diff options
Diffstat (limited to 'sd/source/ui/sidebar/MasterPageContainer.cxx')
-rw-r--r-- | sd/source/ui/sidebar/MasterPageContainer.cxx | 85 |
1 files changed, 43 insertions, 42 deletions
diff --git a/sd/source/ui/sidebar/MasterPageContainer.cxx b/sd/source/ui/sidebar/MasterPageContainer.cxx index 55a1b3abb104..2b55982f3e04 100644 --- a/sd/source/ui/sidebar/MasterPageContainer.cxx +++ b/sd/source/ui/sidebar/MasterPageContainer.cxx @@ -54,7 +54,8 @@ #include "pres.hxx" #include <osl/mutex.hxx> #include <osl/getglobalmutex.hxx> -#include <memory> +#include <boost/scoped_ptr.hpp> +#include <boost/weak_ptr.hpp> using namespace ::com::sun::star; using namespace ::com::sun::star::uno; @@ -77,10 +78,10 @@ class MasterPageContainer::Implementation public: mutable ::osl::Mutex maMutex; - static std::weak_ptr<Implementation> mpInstance; + static ::boost::weak_ptr<Implementation> mpInstance; MasterPageContainerType maContainer; - static std::shared_ptr<Implementation> Instance(); + static ::boost::shared_ptr<Implementation> Instance(); void LateInit(); void AddChangeListener (const Link<MasterPageContainerChangeEvent&,void>& rLink); @@ -131,7 +132,7 @@ private: enum InitializationState { NOT_INITIALIZED, INITIALIZING, INITIALIZED } meInitializationState; - std::unique_ptr<MasterPageContainerQueue> mpRequestQueue; + ::boost::scoped_ptr<MasterPageContainerQueue> mpRequestQueue; ::com::sun::star::uno::Reference<com::sun::star::frame::XModel> mxModel; SdDrawDocument* mpDocument; PreviewRenderer maPreviewRenderer; @@ -162,7 +163,7 @@ private: // We have to remember the tasks for initialization and filling in case // a MasterPageContainer object is destroyed before these tasks have // been completed. - std::weak_ptr<sd::tools::TimerBasedTaskExecution> mpFillerTask; + ::boost::weak_ptr<sd::tools::TimerBasedTaskExecution> mpFillerTask; Size maSmallPreviewSizePixel; Size maLargePreviewSizePixel; @@ -179,13 +180,13 @@ private: //===== MasterPageContainer =================================================== -std::weak_ptr<MasterPageContainer::Implementation> +::boost::weak_ptr<MasterPageContainer::Implementation> MasterPageContainer::Implementation::mpInstance; -std::shared_ptr<MasterPageContainer::Implementation> +::boost::shared_ptr<MasterPageContainer::Implementation> MasterPageContainer::Implementation::Instance() { - std::shared_ptr<MasterPageContainer::Implementation> pInstance; + ::boost::shared_ptr<MasterPageContainer::Implementation> pInstance; if (Implementation::mpInstance.expired()) { @@ -194,25 +195,25 @@ std::shared_ptr<MasterPageContainer::Implementation> if (Implementation::mpInstance.expired()) { OSL_DOUBLE_CHECKED_LOCKING_MEMORY_BARRIER(); - pInstance = std::shared_ptr<MasterPageContainer::Implementation>( + pInstance = ::boost::shared_ptr<MasterPageContainer::Implementation>( new MasterPageContainer::Implementation(), MasterPageContainer::Implementation::Deleter()); SdGlobalResourceContainer::Instance().AddResource(pInstance); Implementation::mpInstance = pInstance; } else - pInstance = std::shared_ptr<MasterPageContainer::Implementation>( + pInstance = ::boost::shared_ptr<MasterPageContainer::Implementation>( Implementation::mpInstance); } else { OSL_DOUBLE_CHECKED_LOCKING_MEMORY_BARRIER(); - pInstance = std::shared_ptr<MasterPageContainer::Implementation>( + pInstance = ::boost::shared_ptr<MasterPageContainer::Implementation>( Implementation::mpInstance); } - DBG_ASSERT (pInstance.get()!=nullptr, - "MasterPageContainer::Implementation::Instance(): instance is nullptr"); + DBG_ASSERT (pInstance.get()!=NULL, + "MasterPageContainer::Implementation::Instance(): instance is NULL"); return pInstance; } @@ -259,7 +260,7 @@ MasterPageContainer::Token MasterPageContainer::PutMasterPage ( void MasterPageContainer::AcquireToken (Token aToken) { SharedMasterPageDescriptor pDescriptor = mpImpl->GetDescriptor(aToken); - if (pDescriptor.get() != nullptr) + if (pDescriptor.get() != NULL) { ++pDescriptor->mnUseCount; } @@ -268,7 +269,7 @@ void MasterPageContainer::AcquireToken (Token aToken) void MasterPageContainer::ReleaseToken (Token aToken) { SharedMasterPageDescriptor pDescriptor = mpImpl->GetDescriptor(aToken); - if (pDescriptor.get() != nullptr) + if (pDescriptor.get() != NULL) { OSL_ASSERT(pDescriptor->mnUseCount>0); --pDescriptor->mnUseCount; @@ -356,7 +357,7 @@ MasterPageContainer::Token MasterPageContainer::GetTokenForPageObject ( const ::osl::MutexGuard aGuard (mpImpl->maMutex); Token aResult (NIL_TOKEN); - if (pPage != nullptr) + if (pPage != NULL) { MasterPageContainerType::iterator iEntry ( ::std::find_if ( @@ -375,7 +376,7 @@ OUString MasterPageContainer::GetURLForToken ( const ::osl::MutexGuard aGuard (mpImpl->maMutex); SharedMasterPageDescriptor pDescriptor = mpImpl->GetDescriptor(aToken); - if (pDescriptor.get() != nullptr) + if (pDescriptor.get() != NULL) return pDescriptor->msURL; else return OUString(); @@ -387,7 +388,7 @@ OUString MasterPageContainer::GetPageNameForToken ( const ::osl::MutexGuard aGuard (mpImpl->maMutex); SharedMasterPageDescriptor pDescriptor = mpImpl->GetDescriptor(aToken); - if (pDescriptor.get() != nullptr) + if (pDescriptor.get() != NULL) return pDescriptor->msPageName; else return OUString(); @@ -399,7 +400,7 @@ OUString MasterPageContainer::GetStyleNameForToken ( const ::osl::MutexGuard aGuard (mpImpl->maMutex); SharedMasterPageDescriptor pDescriptor = mpImpl->GetDescriptor(aToken); - if (pDescriptor.get() != nullptr) + if (pDescriptor.get() != NULL) return pDescriptor->msStyleName; else return OUString(); @@ -411,12 +412,12 @@ SdPage* MasterPageContainer::GetPageObjectForToken ( { const ::osl::MutexGuard aGuard (mpImpl->maMutex); - SdPage* pPageObject = nullptr; + SdPage* pPageObject = NULL; SharedMasterPageDescriptor pDescriptor = mpImpl->GetDescriptor(aToken); - if (pDescriptor.get() != nullptr) + if (pDescriptor.get() != NULL) { pPageObject = pDescriptor->mpMasterPage; - if (pPageObject == nullptr) + if (pPageObject == NULL) { // The page object is not (yet) present. Call // UpdateDescriptor() to trigger the PageObjectProvider() to @@ -435,7 +436,7 @@ MasterPageContainer::Origin MasterPageContainer::GetOriginForToken (Token aToken const ::osl::MutexGuard aGuard (mpImpl->maMutex); SharedMasterPageDescriptor pDescriptor = mpImpl->GetDescriptor(aToken); - if (pDescriptor.get() != nullptr) + if (pDescriptor.get() != NULL) return pDescriptor->meOrigin; else return UNKNOWN; @@ -446,7 +447,7 @@ sal_Int32 MasterPageContainer::GetTemplateIndexForToken (Token aToken) const ::osl::MutexGuard aGuard (mpImpl->maMutex); SharedMasterPageDescriptor pDescriptor = mpImpl->GetDescriptor(aToken); - if (pDescriptor.get() != nullptr) + if (pDescriptor.get() != NULL) return pDescriptor->mnTemplateIndex; else return -1; @@ -486,9 +487,9 @@ MasterPageContainer::Implementation::Implementation() : maMutex(), maContainer(), meInitializationState(NOT_INITIALIZED), - mpRequestQueue(nullptr), - mxModel(nullptr), - mpDocument(nullptr), + mpRequestQueue(NULL), + mxModel(NULL), + mpDocument(NULL), maPreviewRenderer(), mbFirstPageObjectSeen(false), maLargePreviewBeingCreated(), @@ -523,7 +524,7 @@ MasterPageContainer::Implementation::~Implementation() { } } - mxModel = nullptr; + mxModel = NULL; } void MasterPageContainer::Implementation::LateInit() @@ -536,10 +537,10 @@ void MasterPageContainer::Implementation::LateInit() OSL_ASSERT(Instance().get()==this); mpRequestQueue.reset(MasterPageContainerQueue::Create( - std::shared_ptr<MasterPageContainerQueue::ContainerAdapter>(Instance()))); + ::boost::shared_ptr<MasterPageContainerQueue::ContainerAdapter>(Instance()))); mpFillerTask = ::sd::tools::TimerBasedTaskExecution::Create( - std::shared_ptr<tools::AsynchronousTask>(new MasterPageContainerFiller(*this)), + ::boost::shared_ptr<tools::AsynchronousTask>(new MasterPageContainerFiller(*this)), 5, 50); @@ -580,7 +581,7 @@ void MasterPageContainer::Implementation::UpdatePreviewSizePixel() MasterPageContainerType::const_iterator iDescriptor; MasterPageContainerType::const_iterator iContainerEnd(maContainer.end()); for (iDescriptor=maContainer.begin(); iDescriptor!=iContainerEnd; ++iDescriptor) - if (*iDescriptor!=0 && (*iDescriptor)->mpMasterPage != nullptr) + if (*iDescriptor!=0 && (*iDescriptor)->mpMasterPage != NULL) { Size aPageSize ((*iDescriptor)->mpMasterPage->GetSize()); OSL_ASSERT(aPageSize.Width() > 0 && aPageSize.Height() > 0); @@ -622,7 +623,7 @@ IMPL_LINK_TYPED(MasterPageContainer::Implementation,AsynchronousNotifyCallback, EventData* pData = static_cast<EventData*>(p); const ::osl::MutexGuard aGuard (maMutex); - if (pData != nullptr) + if (pData != NULL) { FireContainerChange(pData->first, pData->second); delete pData; @@ -649,7 +650,7 @@ MasterPageContainer::Token MasterPageContainer::Implementation::PutMasterPage ( if (aEntry == maContainer.end()) { // Insert a new MasterPageDescriptor. - bool bIgnore (rpDescriptor->mpPageObjectProvider.get()==nullptr + bool bIgnore (rpDescriptor->mpPageObjectProvider.get()==NULL && rpDescriptor->msURL.isEmpty()); if ( ! bIgnore) @@ -686,7 +687,7 @@ MasterPageContainer::Token MasterPageContainer::Implementation::PutMasterPage ( aResult = (*aEntry)->maToken; std::unique_ptr<std::vector<MasterPageContainerChangeEvent::EventType> > pEventTypes( (*aEntry)->Update(*rpDescriptor)); - if (pEventTypes.get()!=nullptr && pEventTypes->size()>0) + if (pEventTypes.get()!=NULL && pEventTypes->size()>0) { // One or more aspects of the descriptor have changed. Send // appropriate events to the listeners. @@ -707,7 +708,7 @@ bool MasterPageContainer::Implementation::HasToken (Token aToken) const { return aToken>=0 && (unsigned)aToken<maContainer.size() - && maContainer[aToken].get()!=nullptr; + && maContainer[aToken].get()!=NULL; } const SharedMasterPageDescriptor MasterPageContainer::Implementation::GetDescriptor ( @@ -732,7 +733,7 @@ void MasterPageContainer::Implementation::InvalidatePreview (Token aToken) const ::osl::MutexGuard aGuard (maMutex); SharedMasterPageDescriptor pDescriptor (GetDescriptor(aToken)); - if (pDescriptor.get() != nullptr) + if (pDescriptor.get() != NULL) { pDescriptor->maSmallPreview = Image(); pDescriptor->maLargePreview = Image(); @@ -753,7 +754,7 @@ Image MasterPageContainer::Implementation::GetPreviewForToken ( // When the preview is missing but inexpensively creatable then do that // now. - if (pDescriptor.get()!=nullptr) + if (pDescriptor.get()!=NULL) { if (ePreviewState == PS_CREATABLE) if (UpdateDescriptor(pDescriptor, false,false, true)) @@ -801,11 +802,11 @@ MasterPageContainer::PreviewState MasterPageContainer::Implementation::GetPrevie PreviewState eState (PS_NOT_AVAILABLE); SharedMasterPageDescriptor pDescriptor = GetDescriptor(aToken); - if (pDescriptor.get() != nullptr) + if (pDescriptor.get() != NULL) { if (pDescriptor->maLargePreview.GetSizePixel().Width() != 0) eState = PS_AVAILABLE; - else if (pDescriptor->mpPreviewProvider.get() != nullptr) + else if (pDescriptor->mpPreviewProvider.get() != NULL) { // The preview does not exist but can be created. When that is // not expensive then do it at once. @@ -824,7 +825,7 @@ MasterPageContainer::PreviewState MasterPageContainer::Implementation::GetPrevie bool MasterPageContainer::Implementation::RequestPreview (Token aToken) { SharedMasterPageDescriptor pDescriptor = GetDescriptor(aToken); - if (pDescriptor.get() != nullptr) + if (pDescriptor.get() != NULL) return mpRequestQueue->RequestPreview(pDescriptor); else return false; @@ -938,7 +939,7 @@ void MasterPageContainer::Implementation::CleanContainer() // elements in the middle can not be removed because that would // invalidate the references still held by others. int nIndex (maContainer.size()-1); - while (nIndex>=0 && maContainer[nIndex].get()==nullptr) + while (nIndex>=0 && maContainer[nIndex].get()==NULL) --nIndex; maContainer.resize(++nIndex); } @@ -978,7 +979,7 @@ bool MasterPageContainer::Implementation::UpdateDescriptor ( // and the caller needs the preview. bForcePageObject |= (bForcePreview && rpDescriptor->mpPreviewProvider->NeedsPageObject() - && rpDescriptor->mpMasterPage==nullptr); + && rpDescriptor->mpMasterPage==NULL); // Define a cost threshold so that an update or page object or preview // that is at least this cost are made at once. Updates with higher cost |