Kaydet (Commit) 98c21af7 authored tarafından Noel Grandin's avatar Noel Grandin

use regular destructor for AnchorOverlayObject and ShadowOverlayObject

no need for static methods

Change-Id: I8de3bf41183ef592f9c08d8d227834fa64d772fa
Reviewed-on: https://gerrit.libreoffice.org/57849
Tested-by: Jenkins
Reviewed-by: 's avatarNoel Grandin <noel.grandin@collabora.co.uk>
üst d67d9c26
...@@ -207,19 +207,6 @@ ImplPrimitive2DIDBlock(AnchorPrimitive, PRIMITIVE2D_ID_SWSIDEBARANCHORPRIMITIVE) ...@@ -207,19 +207,6 @@ ImplPrimitive2DIDBlock(AnchorPrimitive, PRIMITIVE2D_ID_SWSIDEBARANCHORPRIMITIVE)
return pAnchorOverlayObject; return pAnchorOverlayObject;
} }
/*static*/ void AnchorOverlayObject::DestroyAnchorOverlayObject( AnchorOverlayObject* pAnchor )
{
if ( pAnchor )
{
if ( pAnchor->getOverlayManager() )
{
// remove this object from the chain
pAnchor->getOverlayManager()->remove(*pAnchor);
}
delete pAnchor;
}
}
AnchorOverlayObject::AnchorOverlayObject( const basegfx::B2DPoint& rBasePos, AnchorOverlayObject::AnchorOverlayObject( const basegfx::B2DPoint& rBasePos,
const basegfx::B2DPoint& rSecondPos, const basegfx::B2DPoint& rSecondPos,
const basegfx::B2DPoint& rThirdPos, const basegfx::B2DPoint& rThirdPos,
...@@ -245,6 +232,11 @@ AnchorOverlayObject::AnchorOverlayObject( const basegfx::B2DPoint& rBasePos, ...@@ -245,6 +232,11 @@ AnchorOverlayObject::AnchorOverlayObject( const basegfx::B2DPoint& rBasePos,
AnchorOverlayObject::~AnchorOverlayObject() AnchorOverlayObject::~AnchorOverlayObject()
{ {
if ( getOverlayManager() )
{
// remove this object from the chain
getOverlayManager()->remove(*this);
}
} }
void AnchorOverlayObject::implEnsureGeometry() void AnchorOverlayObject::implEnsureGeometry()
......
...@@ -46,7 +46,6 @@ class AnchorOverlayObject final : public sdr::overlay::OverlayObjectWithBasePosi ...@@ -46,7 +46,6 @@ class AnchorOverlayObject final : public sdr::overlay::OverlayObjectWithBasePosi
const Point& aLineStart, const Point& aLineStart,
const Point& aLineEnd, const Point& aLineEnd,
const Color& aColorAnchor ); const Color& aColorAnchor );
static void DestroyAnchorOverlayObject( AnchorOverlayObject* pAnchor );
const basegfx::B2DPoint& GetSecondPosition() const { return maSecondPosition; } const basegfx::B2DPoint& GetSecondPosition() const { return maSecondPosition; }
const basegfx::B2DPoint& GetThirdPosition() const { return maThirdPosition; } const basegfx::B2DPoint& GetThirdPosition() const { return maThirdPosition; }
...@@ -113,6 +112,7 @@ class AnchorOverlayObject final : public sdr::overlay::OverlayObjectWithBasePosi ...@@ -113,6 +112,7 @@ class AnchorOverlayObject final : public sdr::overlay::OverlayObjectWithBasePosi
const basegfx::B2DPoint& rSixthPos, const basegfx::B2DPoint& rSixthPos,
const basegfx::B2DPoint& rSeventhPos, const basegfx::B2DPoint& rSeventhPos,
const Color& rBaseColor ); const Color& rBaseColor );
public:
virtual ~AnchorOverlayObject() override; virtual ~AnchorOverlayObject() override;
}; };
......
...@@ -166,10 +166,10 @@ void SwAnnotationWin::dispose() ...@@ -166,10 +166,10 @@ void SwAnnotationWin::dispose()
RemoveEventListener( LINK( this, SwAnnotationWin, WindowEventListener ) ); RemoveEventListener( LINK( this, SwAnnotationWin, WindowEventListener ) );
sidebarwindows::AnchorOverlayObject::DestroyAnchorOverlayObject( mpAnchor ); delete mpAnchor;
mpAnchor = nullptr; mpAnchor = nullptr;
sidebarwindows::ShadowOverlayObject::DestroyShadowOverlayObject( mpShadow ); delete mpShadow;
mpShadow = nullptr; mpShadow = nullptr;
mpTextRangeOverlay.reset(); mpTextRangeOverlay.reset();
......
...@@ -180,18 +180,6 @@ ImplPrimitive2DIDBlock(ShadowPrimitive, PRIMITIVE2D_ID_SWSIDEBARSHADOWPRIMITIVE) ...@@ -180,18 +180,6 @@ ImplPrimitive2DIDBlock(ShadowPrimitive, PRIMITIVE2D_ID_SWSIDEBARSHADOWPRIMITIVE)
return pShadowOverlayObject; return pShadowOverlayObject;
} }
/* static */ void ShadowOverlayObject::DestroyShadowOverlayObject( ShadowOverlayObject* pShadow )
{
if ( pShadow )
{
if ( pShadow->getOverlayManager() )
{
pShadow->getOverlayManager()->remove(*pShadow);
}
delete pShadow;
}
}
ShadowOverlayObject::ShadowOverlayObject( const basegfx::B2DPoint& rBasePos, ShadowOverlayObject::ShadowOverlayObject( const basegfx::B2DPoint& rBasePos,
const basegfx::B2DPoint& rSecondPosition, const basegfx::B2DPoint& rSecondPosition,
Color aBaseColor ) Color aBaseColor )
...@@ -203,6 +191,10 @@ ShadowOverlayObject::ShadowOverlayObject( const basegfx::B2DPoint& rBasePos, ...@@ -203,6 +191,10 @@ ShadowOverlayObject::ShadowOverlayObject( const basegfx::B2DPoint& rBasePos,
ShadowOverlayObject::~ShadowOverlayObject() ShadowOverlayObject::~ShadowOverlayObject()
{ {
if ( getOverlayManager() )
{
getOverlayManager()->remove(*this);
}
} }
drawinglayer::primitive2d::Primitive2DContainer ShadowOverlayObject::createOverlayObjectPrimitive2DSequence() drawinglayer::primitive2d::Primitive2DContainer ShadowOverlayObject::createOverlayObjectPrimitive2DSequence()
......
...@@ -46,9 +46,10 @@ private: ...@@ -46,9 +46,10 @@ private:
ShadowOverlayObject( const basegfx::B2DPoint& rBasePos, ShadowOverlayObject( const basegfx::B2DPoint& rBasePos,
const basegfx::B2DPoint& rSecondPosition, const basegfx::B2DPoint& rSecondPosition,
Color aBaseColor ); Color aBaseColor );
virtual ~ShadowOverlayObject() override;
public: public:
virtual ~ShadowOverlayObject() override;
void SetShadowState(ShadowState aState); void SetShadowState(ShadowState aState);
ShadowState GetShadowState() {return mShadowState;} ShadowState GetShadowState() {return mShadowState;}
...@@ -56,7 +57,6 @@ public: ...@@ -56,7 +57,6 @@ public:
const basegfx::B2DPoint& rPoint2 ); const basegfx::B2DPoint& rPoint2 );
static ShadowOverlayObject* CreateShadowOverlayObject( SwView const & rDocView ); static ShadowOverlayObject* CreateShadowOverlayObject( SwView const & rDocView );
static void DestroyShadowOverlayObject( ShadowOverlayObject* pShadow );
}; };
} } // end of namespace sw::sidebarwindows } } // end of namespace sw::sidebarwindows
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment