summaryrefslogtreecommitdiff
path: root/editeng
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2017-07-04 15:05:34 +0100
committerCaolán McNamara <caolanm@redhat.com>2017-07-06 09:28:10 +0200
commit12a3f5cefeaeb842507dd8038597fb77ca929dd1 (patch)
treec1d496a275fceb1b2fda406f13acca71d9e6947a /editeng
parentab9b38a4064141705aa3a3de9a5d73b465ad3af3 (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.cxx2
-rw-r--r--editeng/source/editeng/eerdll.cxx8
-rw-r--r--editeng/source/editeng/eerdll2.hxx6
-rw-r--r--editeng/source/editeng/impedit.hxx6
-rw-r--r--editeng/source/editeng/impedit2.cxx8
-rw-r--r--editeng/source/outliner/outlin2.cxx4
-rw-r--r--editeng/source/uno/UnoForbiddenCharsTable.cxx14
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 )