sd/source/console/AccessibleFocusManager.cxx | 6 +++--- sd/source/console/AccessibleFocusManager.hxx | 4 ++-- sd/source/console/AccessibleNotes.cxx | 2 +- sd/source/console/AccessibleObject.cxx | 4 ++-- sd/source/console/PresenterAccessibility.cxx | 6 +++--- 5 files changed, 11 insertions(+), 11 deletions(-)
New commits: commit 28137ea6c03bda3e2b1d8a667850b0aedba452e0 Author: Noel Grandin <noel.gran...@collabora.co.uk> AuthorDate: Mon Jun 30 13:02:19 2025 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Tue Jul 1 08:14:29 2025 +0200 no need to hold AccessibleFocusManager by shared_ptr there is only one instance, and only one reference to it Change-Id: I0b8c57b758d15a3c38d5014f999a21f43389b1c8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187204 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/sd/source/console/AccessibleFocusManager.cxx b/sd/source/console/AccessibleFocusManager.cxx index 347e184b4c79..ff686a238b88 100644 --- a/sd/source/console/AccessibleFocusManager.cxx +++ b/sd/source/console/AccessibleFocusManager.cxx @@ -20,15 +20,15 @@ #include "AccessibleFocusManager.hxx" #include "AccessibleObject.hxx" -std::shared_ptr<AccessibleFocusManager> AccessibleFocusManager::mpInstance; +std::unique_ptr<AccessibleFocusManager> AccessibleFocusManager::mpInstance; -std::shared_ptr<AccessibleFocusManager> const & AccessibleFocusManager::Instance() +AccessibleFocusManager & AccessibleFocusManager::Instance() { if ( ! mpInstance) { mpInstance.reset(new AccessibleFocusManager()); } - return mpInstance; + return *mpInstance; } AccessibleFocusManager::AccessibleFocusManager() diff --git a/sd/source/console/AccessibleFocusManager.hxx b/sd/source/console/AccessibleFocusManager.hxx index cdfd24ba342b..63c7be9eda1e 100644 --- a/sd/source/console/AccessibleFocusManager.hxx +++ b/sd/source/console/AccessibleFocusManager.hxx @@ -32,7 +32,7 @@ class AccessibleObject; class AccessibleFocusManager { public: - static std::shared_ptr<AccessibleFocusManager> const & Instance(); + static AccessibleFocusManager & Instance(); void AddFocusableObject (const ::rtl::Reference<AccessibleObject>& rpObject); void RemoveFocusableObject (const ::rtl::Reference<AccessibleObject>& rpObject); @@ -42,7 +42,7 @@ public: ~AccessibleFocusManager(); private: - static std::shared_ptr<AccessibleFocusManager> mpInstance; + static std::unique_ptr<AccessibleFocusManager> mpInstance; ::std::vector<rtl::Reference<AccessibleObject> > maFocusableObjects; bool m_isInDtor = false; diff --git a/sd/source/console/AccessibleNotes.cxx b/sd/source/console/AccessibleNotes.cxx index b17fe7883b17..7733afa20721 100644 --- a/sd/source/console/AccessibleNotes.cxx +++ b/sd/source/console/AccessibleNotes.cxx @@ -126,7 +126,7 @@ void AccessibleNotes::NotifyCaretChange ( const sal_Int32 nNewParagraphIndex, const sal_Int32 nNewCharacterIndex) { - AccessibleFocusManager::Instance()->FocusObject( + AccessibleFocusManager::Instance().FocusObject( nNewParagraphIndex >= 0 ? maChildren[nNewParagraphIndex] : this); diff --git a/sd/source/console/AccessibleObject.cxx b/sd/source/console/AccessibleObject.cxx index 5af9d672ac41..0542890a8c65 100644 --- a/sd/source/console/AccessibleObject.cxx +++ b/sd/source/console/AccessibleObject.cxx @@ -38,7 +38,7 @@ AccessibleObject::AccessibleObject( void AccessibleObject::LateInitialization() { - AccessibleFocusManager::Instance()->AddFocusableObject(this); + AccessibleFocusManager::Instance().AddFocusableObject(this); } void AccessibleObject::SetWindow ( @@ -76,7 +76,7 @@ void SAL_CALL AccessibleObject::disposing() { OAccessible::disposing(); - AccessibleFocusManager::Instance()->RemoveFocusableObject(this); + AccessibleFocusManager::Instance().RemoveFocusableObject(this); SetWindow(nullptr, nullptr); } diff --git a/sd/source/console/PresenterAccessibility.cxx b/sd/source/console/PresenterAccessibility.cxx index e98b251dd320..34600db26d60 100644 --- a/sd/source/console/PresenterAccessibility.cxx +++ b/sd/source/console/PresenterAccessibility.cxx @@ -228,7 +228,7 @@ void PresenterAccessible::NotifyCurrentSlideChange () // Play some focus ping-pong to trigger AT tools. //AccessibleFocusManager::Instance()->FocusObject(this); - AccessibleFocusManager::Instance()->FocusObject(mpAccessiblePreview); + AccessibleFocusManager::Instance().FocusObject(mpAccessiblePreview); } void SAL_CALL PresenterAccessible::disposing() @@ -287,13 +287,13 @@ void SAL_CALL PresenterAccessible::focusGained (const css::awt::FocusEvent&) { SAL_INFO("sdext.presenter", __func__ << ": PresenterAccessible::focusGained at " << this << " and window " << mxMainWindow.get()); - AccessibleFocusManager::Instance()->FocusObject(this); + AccessibleFocusManager::Instance().FocusObject(this); } void SAL_CALL PresenterAccessible::focusLost (const css::awt::FocusEvent&) { SAL_INFO("sdext.presenter", __func__ << ": PresenterAccessible::focusLost at " << this); - AccessibleFocusManager::Instance()->FocusObject(nullptr); + AccessibleFocusManager::Instance().FocusObject(nullptr); } //----- XEventListener ----------------------------------------------------