sw/source/core/unocore/unofield.cxx | 41 ++++++++++++++---------------------- 1 file changed, 17 insertions(+), 24 deletions(-)
New commits: commit aec1f4a12c1b94339d6d9ed32ffa012002df3f9c Author: Bjoern Michaelsen <bjoern.michael...@libreoffice.org> Date: Thu May 10 10:51:42 2018 +0200 dont use SwClient/SwModify in unocore: FieldEnumeration Change-Id: Ia307836869e54ab8f5a9727c913979cee4f259f4 Reviewed-on: https://gerrit.libreoffice.org/54868 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Björn Michaelsen <bjoern.michael...@libreoffice.org> diff --git a/sw/source/core/unocore/unofield.cxx b/sw/source/core/unocore/unofield.cxx index 030125a8f44b..d87a4539742b 100644 --- a/sw/source/core/unocore/unofield.cxx +++ b/sw/source/core/unocore/unofield.cxx @@ -86,6 +86,7 @@ #include <scriptinfo.hxx> #include <tools/datetime.hxx> #include <tools/urlobj.hxx> +#include <svl/listener.hxx> #include <svx/dataaccessdescriptor.hxx> #include <o3tl/any.hxx> #include <osl/mutex.hxx> @@ -2895,24 +2896,25 @@ void SAL_CALL SwXTextFieldTypes::removeRefreshListener( } class SwXFieldEnumeration::Impl - : public SwClient + : public SvtListener { - public: - SwDoc * m_pDoc; - - std::vector< uno::Reference<text::XTextField> > m_Items; - sal_Int32 m_nNextIndex; ///< index of next element to be returned + SwDoc* m_pDoc; + std::vector<uno::Reference<text::XTextField>> m_Items; + sal_Int32 m_nNextIndex; ///< index of next element to be returned - explicit Impl(SwDoc & rDoc) - : SwClient(rDoc.getIDocumentStylePoolAccess().GetPageDescFromPool(RES_POOLPAGE_STANDARD)) - , m_pDoc(& rDoc) + explicit Impl(SwDoc& rDoc) + : m_pDoc(&rDoc) , m_nNextIndex(0) - { } + { + StartListening(rDoc.getIDocumentStylePoolAccess().GetPageDescFromPool(RES_POOLPAGE_STANDARD)->GetNotifier()); + } -protected: - // SwClient - virtual void Modify(SfxPoolItem const* pOld, SfxPoolItem const* pNew) override; + virtual void Notify(const SfxHint& rHint) override + { + if(rHint.GetId() == SfxHintId::Dying) + m_pDoc = nullptr; + } }; OUString SAL_CALL @@ -2926,11 +2928,10 @@ sal_Bool SAL_CALL SwXFieldEnumeration::supportsService(const OUString& rServiceN return cppu::supportsService(this, rServiceName); } -uno::Sequence< OUString > SAL_CALL +uno::Sequence<OUString> SAL_CALL SwXFieldEnumeration::getSupportedServiceNames() { - uno::Sequence<OUString> aRet { "com.sun.star.text.FieldEnumeration" }; - return aRet; + return { "com.sun.star.text.FieldEnumeration" }; } SwXFieldEnumeration::SwXFieldEnumeration(SwDoc & rDoc) @@ -2996,12 +2997,4 @@ uno::Any SAL_CALL SwXFieldEnumeration::nextElement() return aRet; } -void SwXFieldEnumeration::Impl::Modify( - SfxPoolItem const*const pOld, SfxPoolItem const*const pNew) -{ - ClientModify(this, pOld, pNew); - if(!GetRegisteredIn()) - m_pDoc = nullptr; -} - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits