diff options
author | Michael Stahl <mstahl@redhat.com> | 2017-09-22 11:13:39 +0200 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2017-09-22 17:59:36 +0200 |
commit | 8b690f22c9deb6d1171328dfe5607d4c673dc993 (patch) | |
tree | a7fa3f5c5d4b0b4fd2db338df001c078eb61dbbc /vcl/source | |
parent | c75a3ffd88732f424f8f557c94e580ecc54f551f (diff) |
vcl: [loplugin:badstatics] xCharClass
There's even 2 of these; move them to struct ImplSVData
which is deleted on shutdown.
Change-Id: I8040cd6f9f31c0a1ab48987a490395f316d52220
Reviewed-on: https://gerrit.libreoffice.org/42630
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Diffstat (limited to 'vcl/source')
-rw-r--r-- | vcl/source/control/field2.cxx | 12 | ||||
-rw-r--r-- | vcl/source/window/dlgctrl.cxx | 5 |
2 files changed, 9 insertions, 8 deletions
diff --git a/vcl/source/control/field2.cxx b/vcl/source/control/field2.cxx index 3712fc004d24..87885679dead 100644 --- a/vcl/source/control/field2.cxx +++ b/vcl/source/control/field2.cxx @@ -58,11 +58,15 @@ using namespace ::comphelper; uno::Reference< i18n::XCharacterClassification > const & ImplGetCharClass() { - static uno::Reference< i18n::XCharacterClassification > xCharClass; - if ( !xCharClass.is() ) - xCharClass = vcl::unohelper::CreateCharacterClassification(); + ImplSVData *const pSVData = ImplGetSVData(); + assert(pSVData); - return xCharClass; + if (!pSVData->m_xCharClass.is()) + { + pSVData->m_xCharClass = vcl::unohelper::CreateCharacterClassification(); + } + + return pSVData->m_xCharClass; } static sal_Unicode* ImplAddString( sal_Unicode* pBuf, const OUString& rStr ) diff --git a/vcl/source/window/dlgctrl.cxx b/vcl/source/window/dlgctrl.cxx index 703b547423ce..6b2ae73ba503 100644 --- a/vcl/source/window/dlgctrl.cxx +++ b/vcl/source/window/dlgctrl.cxx @@ -390,10 +390,7 @@ vcl::Window* ImplFindAccelWindow( vcl::Window* pParent, sal_uInt16& rIndex, sal_ sal_uInt16 i = rIndex; vcl::Window* pWindow; - // MT: Where can we keep the CharClass?! - static uno::Reference< i18n::XCharacterClassification > xCharClass; - if ( !xCharClass.is() ) - xCharClass = vcl::unohelper::CreateCharacterClassification(); + uno::Reference<i18n::XCharacterClassification> const xCharClass(ImplGetCharClass()); const css::lang::Locale& rLocale = Application::GetSettings().GetUILanguageTag().getLocale(); cCharCode = xCharClass->toUpper( OUString(cCharCode), 0, 1, rLocale )[0]; |