diff options
Diffstat (limited to 'sw/source/filter/html')
-rw-r--r-- | sw/source/filter/html/swhtml.cxx | 17 | ||||
-rw-r--r-- | sw/source/filter/html/swhtml.hxx | 7 |
2 files changed, 8 insertions, 16 deletions
diff --git a/sw/source/filter/html/swhtml.cxx b/sw/source/filter/html/swhtml.cxx index 535a2373a823..c2dbad75a1d9 100644 --- a/sw/source/filter/html/swhtml.cxx +++ b/sw/source/filter/html/swhtml.cxx @@ -261,7 +261,6 @@ SwHTMLParser::SwHTMLParser( SwDoc* pD, SwPaM& rCursor, SvStream& rIn, bool bNoHTMLComments, const OUString& rNamespace ) : SfxHTMLParser( rIn, bReadNewDoc, pMed ), - SwClient( nullptr ), m_aPathToFile( rPath ), m_sBaseURL( rBaseURL ), m_xAttrTab(new HTMLAttrTable), @@ -575,7 +574,7 @@ SvParserState SwHTMLParser::CallParser() rInput.ResetError(); } - m_xDoc->GetPageDesc( 0 ).Add( this ); + StartListening(m_xDoc->GetPageDesc( 0 ).GetNotifier()); SvParserState eRet = HTMLParser::CallParser(); return eRet; @@ -929,18 +928,12 @@ void SwHTMLParser::Continue( HtmlTokenId nToken ) #endif } -void SwHTMLParser::Modify( const SfxPoolItem* pOld, const SfxPoolItem *pNew ) +void SwHTMLParser::Notify(const SfxHint& rHint) { - switch( pOld ? pOld->Which() : pNew ? pNew->Which() : 0 ) + if(rHint.GetId() == SfxHintId::Dying) { - case RES_OBJECTDYING: - if (pOld && static_cast<const SwPtrMsgPoolItem *>(pOld)->pObject == GetRegisteredIn()) - { - // then we kill ourself - EndListeningAll(); - ReleaseRef(); // otherwise we're done! - } - break; + EndListeningAll(); + ReleaseRef(); } } diff --git a/sw/source/filter/html/swhtml.hxx b/sw/source/filter/html/swhtml.hxx index b931042a3fe7..b9173c6271ab 100644 --- a/sw/source/filter/html/swhtml.hxx +++ b/sw/source/filter/html/swhtml.hxx @@ -22,6 +22,7 @@ #include <config_java.h> #include <sfx2/sfxhtml.hxx> +#include <svl/listener.hxx> #include <svl/macitem.hxx> #include <svtools/htmltokn.h> #include <editeng/svxenum.hxx> @@ -30,8 +31,6 @@ #include <com/sun/star/drawing/XShape.hpp> #include <com/sun/star/form/XFormComponent.hpp> -#include <calbck.hxx> - #include <memory> #include <vector> #include <deque> @@ -326,7 +325,7 @@ namespace o3tl template<> struct typed_flags<HtmlFrameFormatFlags> : is_typed_flags<HtmlFrameFormatFlags, 0x0f> {}; } -class SwHTMLParser : public SfxHTMLParser, public SwClient +class SwHTMLParser : public SfxHTMLParser, public SvtListener { friend class SectionSaveStruct; friend class CellSaveStruct; @@ -888,7 +887,7 @@ protected: virtual ~SwHTMLParser() override; // If the document is removed, remove the parser as well - virtual void Modify( const SfxPoolItem* pOld, const SfxPoolItem *pNew ) override; + virtual void Notify(const SfxHint&) override; virtual void AddMetaUserDefined( OUString const & i_rMetaName ) override; |