diff options
author | Caolán McNamara <caolanm@redhat.com> | 2017-07-04 15:05:34 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2017-07-06 09:28:10 +0200 |
commit | 12a3f5cefeaeb842507dd8038597fb77ca929dd1 (patch) | |
tree | c1d496a275fceb1b2fda406f13acca71d9e6947a /editeng | |
parent | ab9b38a4064141705aa3a3de9a5d73b465ad3af3 (diff) |
rework as a shared_ptr
mostly to try and track down a crash on exit of sw uwriter under
windows
Change-Id: Id67e93863056da319dd8225038d60a7f5783b103
Reviewed-on: https://gerrit.libreoffice.org/39604
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'editeng')
-rw-r--r-- | editeng/source/editeng/editeng.cxx | 2 | ||||
-rw-r--r-- | editeng/source/editeng/eerdll.cxx | 8 | ||||
-rw-r--r-- | editeng/source/editeng/eerdll2.hxx | 6 | ||||
-rw-r--r-- | editeng/source/editeng/impedit.hxx | 6 | ||||
-rw-r--r-- | editeng/source/editeng/impedit2.cxx | 8 | ||||
-rw-r--r-- | editeng/source/outliner/outlin2.cxx | 4 | ||||
-rw-r--r-- | editeng/source/uno/UnoForbiddenCharsTable.cxx | 14 |
7 files changed, 23 insertions, 25 deletions
diff --git a/editeng/source/editeng/editeng.cxx b/editeng/source/editeng/editeng.cxx index 7b3040092e90..e5727ee0ba9b 100644 --- a/editeng/source/editeng/editeng.cxx +++ b/editeng/source/editeng/editeng.cxx @@ -2174,7 +2174,7 @@ void EditEngine::SetAllMisspellRanges( const std::vector<editeng::MisspellRanges pImpEditEngine->SetAllMisspellRanges(rRanges); } -void EditEngine::SetForbiddenCharsTable( const rtl::Reference<SvxForbiddenCharactersTable>& xForbiddenChars ) +void EditEngine::SetForbiddenCharsTable(const std::shared_ptr<SvxForbiddenCharactersTable>& xForbiddenChars) { ImpEditEngine::SetForbiddenCharsTable( xForbiddenChars ); } diff --git a/editeng/source/editeng/eerdll.cxx b/editeng/source/editeng/eerdll.cxx index 8176096afafc..04ae2c953bf5 100644 --- a/editeng/source/editeng/eerdll.cxx +++ b/editeng/source/editeng/eerdll.cxx @@ -176,12 +176,10 @@ std::shared_ptr<DefItems> GlobalEditData::GetDefItems() return xDefItems; } -rtl::Reference<SvxForbiddenCharactersTable> const & GlobalEditData::GetForbiddenCharsTable() +std::shared_ptr<SvxForbiddenCharactersTable> const & GlobalEditData::GetForbiddenCharsTable() { - if ( !xForbiddenCharsTable.is() ) - { - xForbiddenCharsTable = new SvxForbiddenCharactersTable( ::comphelper::getProcessComponentContext() ); - } + if (!xForbiddenCharsTable) + xForbiddenCharsTable.reset(new SvxForbiddenCharactersTable(::comphelper::getProcessComponentContext())); return xForbiddenCharsTable; } diff --git a/editeng/source/editeng/eerdll2.hxx b/editeng/source/editeng/eerdll2.hxx index 6ef3c20d1d92..b8ff6773e716 100644 --- a/editeng/source/editeng/eerdll2.hxx +++ b/editeng/source/editeng/eerdll2.hxx @@ -55,13 +55,13 @@ class GlobalEditData private: css::uno::Reference< css::linguistic2::XLanguageGuessing > xLanguageGuesser; std::weak_ptr<DefItems> m_xDefItems; - rtl::Reference<SvxForbiddenCharactersTable> xForbiddenCharsTable; + std::shared_ptr<SvxForbiddenCharactersTable> xForbiddenCharsTable; public: std::shared_ptr<DefItems> GetDefItems(); - rtl::Reference<SvxForbiddenCharactersTable> const & GetForbiddenCharsTable(); - void SetForbiddenCharsTable( rtl::Reference<SvxForbiddenCharactersTable> const & xForbiddenChars ) { xForbiddenCharsTable = xForbiddenChars; } + std::shared_ptr<SvxForbiddenCharactersTable> const & GetForbiddenCharsTable(); + void SetForbiddenCharsTable(std::shared_ptr<SvxForbiddenCharactersTable> const & xForbiddenChars ) { xForbiddenCharsTable = xForbiddenChars; } css::uno::Reference< css::linguistic2::XLanguageGuessing > const & GetLanguageGuesser(); }; diff --git a/editeng/source/editeng/impedit.hxx b/editeng/source/editeng/impedit.hxx index 303920f6a3b0..cd78e2a916ce 100644 --- a/editeng/source/editeng/impedit.hxx +++ b/editeng/source/editeng/impedit.hxx @@ -498,7 +498,7 @@ private: Link<EditView*,void> maBeginDropHdl; Link<EditView*,void> maEndDropHdl; - rtl::Reference<SvxForbiddenCharactersTable> xForbiddenCharsTable; + std::shared_ptr<SvxForbiddenCharactersTable> xForbiddenCharsTable; bool bKernAsianPunctuation:1; bool bAddExtLeading:1; @@ -1014,8 +1014,8 @@ public: void SetAddExtLeading( bool b ); bool IsAddExtLeading() const { return bAddExtLeading; } - rtl::Reference<SvxForbiddenCharactersTable> GetForbiddenCharsTable() const; - static void SetForbiddenCharsTable( const rtl::Reference<SvxForbiddenCharactersTable>& xForbiddenChars ); + std::shared_ptr<SvxForbiddenCharactersTable> GetForbiddenCharsTable() const; + static void SetForbiddenCharsTable( const std::shared_ptr<SvxForbiddenCharactersTable>& xForbiddenChars ); /** sets a link that is called at the beginning of a drag operation at an edit view */ void SetBeginDropHdl( const Link<EditView*,void>& rLink ) { maBeginDropHdl = rLink; } diff --git a/editeng/source/editeng/impedit2.cxx b/editeng/source/editeng/impedit2.cxx index 695bc15af8fc..f6c0eb4dcc30 100644 --- a/editeng/source/editeng/impedit2.cxx +++ b/editeng/source/editeng/impedit2.cxx @@ -4366,15 +4366,15 @@ void ImpEditEngine::IndentBlock( EditView* pEditView, bool bRight ) } } -rtl::Reference<SvxForbiddenCharactersTable> ImpEditEngine::GetForbiddenCharsTable() const +std::shared_ptr<SvxForbiddenCharactersTable> ImpEditEngine::GetForbiddenCharsTable() const { - rtl::Reference<SvxForbiddenCharactersTable> xF = xForbiddenCharsTable; - if ( !xF.is() ) + std::shared_ptr<SvxForbiddenCharactersTable> xF = xForbiddenCharsTable; + if (!xF) xF = EditDLL::Get().GetGlobalData()->GetForbiddenCharsTable(); return xF; } -void ImpEditEngine::SetForbiddenCharsTable( const rtl::Reference<SvxForbiddenCharactersTable>& xForbiddenChars ) +void ImpEditEngine::SetForbiddenCharsTable(const std::shared_ptr<SvxForbiddenCharactersTable>& xForbiddenChars) { EditDLL::Get().GetGlobalData()->SetForbiddenCharsTable( xForbiddenChars ); } diff --git a/editeng/source/outliner/outlin2.cxx b/editeng/source/outliner/outlin2.cxx index 5f8cadb512ed..88b853140ec9 100644 --- a/editeng/source/outliner/outlin2.cxx +++ b/editeng/source/outliner/outlin2.cxx @@ -398,9 +398,9 @@ Reference< XSpellChecker1 > Outliner::GetSpeller() return pEditEngine->GetSpeller(); } -void Outliner::SetForbiddenCharsTable( const rtl::Reference<SvxForbiddenCharactersTable>& xForbiddenChars ) +void Outliner::SetForbiddenCharsTable(const std::shared_ptr<SvxForbiddenCharactersTable>& xForbiddenChars) { - EditEngine::SetForbiddenCharsTable( xForbiddenChars ); + EditEngine::SetForbiddenCharsTable(xForbiddenChars); } void Outliner::SetHyphenator( Reference< XHyphenator >& xHyph ) diff --git a/editeng/source/uno/UnoForbiddenCharsTable.cxx b/editeng/source/uno/UnoForbiddenCharsTable.cxx index bfa10a6ca526..35e0bed8b494 100644 --- a/editeng/source/uno/UnoForbiddenCharsTable.cxx +++ b/editeng/source/uno/UnoForbiddenCharsTable.cxx @@ -32,8 +32,8 @@ using namespace ::com::sun::star::lang; using namespace ::com::sun::star::i18n; using namespace ::cppu; -SvxUnoForbiddenCharsTable::SvxUnoForbiddenCharsTable(::rtl::Reference<SvxForbiddenCharactersTable> const & xForbiddenChars) : - mxForbiddenChars( xForbiddenChars ) +SvxUnoForbiddenCharsTable::SvxUnoForbiddenCharsTable(std::shared_ptr<SvxForbiddenCharactersTable> const & xForbiddenChars) + : mxForbiddenChars(xForbiddenChars) { } @@ -49,7 +49,7 @@ ForbiddenCharacters SvxUnoForbiddenCharsTable::getForbiddenCharacters( const lan { SolarMutexGuard aGuard; - if(!mxForbiddenChars.is()) + if (!mxForbiddenChars) throw RuntimeException(); const LanguageType eLang = LanguageTag::convertToLanguageType( rLocale ); @@ -64,7 +64,7 @@ sal_Bool SvxUnoForbiddenCharsTable::hasForbiddenCharacters( const lang::Locale& { SolarMutexGuard aGuard; - if(!mxForbiddenChars.is()) + if (!mxForbiddenChars) return false; const LanguageType eLang = LanguageTag::convertToLanguageType( rLocale ); @@ -77,7 +77,7 @@ void SvxUnoForbiddenCharsTable::setForbiddenCharacters(const lang::Locale& rLoca { SolarMutexGuard aGuard; - if(!mxForbiddenChars.is()) + if (!mxForbiddenChars) throw RuntimeException(); const LanguageType eLang = LanguageTag::convertToLanguageType( rLocale ); @@ -90,7 +90,7 @@ void SvxUnoForbiddenCharsTable::removeForbiddenCharacters( const lang::Locale& r { SolarMutexGuard aGuard; - if(!mxForbiddenChars.is()) + if (!mxForbiddenChars) throw RuntimeException(); const LanguageType eLang = LanguageTag::convertToLanguageType( rLocale ); @@ -104,7 +104,7 @@ Sequence< lang::Locale > SAL_CALL SvxUnoForbiddenCharsTable::getLocales() { SolarMutexGuard aGuard; - const sal_Int32 nCount = mxForbiddenChars.is() ? mxForbiddenChars->GetMap().size() : 0; + const sal_Int32 nCount = mxForbiddenChars ? mxForbiddenChars->GetMap().size() : 0; Sequence< lang::Locale > aLocales( nCount ); if( nCount ) |