include/svtools/grfmgr.hxx | 6 +++--- include/svx/svdograf.hxx | 2 +- svtools/qa/unit/GraphicObjectTest.cxx | 6 +++--- svtools/source/graphic/grfmgr.cxx | 15 +++++++-------- svx/source/svdraw/svdograf.cxx | 4 ++-- sw/inc/ndgrf.hxx | 2 +- sw/source/core/graphic/ndgrf.cxx | 4 ++-- 7 files changed, 19 insertions(+), 20 deletions(-)
New commits: commit 93157d284ea37cca200759804268c0a872852549 Author: Noel Grandin <[email protected]> Date: Wed Aug 26 13:48:25 2015 +0200 convert Link to Typed and make it statically allocated, no point in dynamically allocating such a small object Change-Id: If476bf5dc1e0d535383d16bc49c8d567776f16cd diff --git a/include/svtools/grfmgr.hxx b/include/svtools/grfmgr.hxx index 70f635f..3ea3097 100644 --- a/include/svtools/grfmgr.hxx +++ b/include/svtools/grfmgr.hxx @@ -184,7 +184,7 @@ private: GraphicType meType; GraphicManager* mpMgr; OUString maLink; - Link<>* mpSwapStreamHdl; + Link<const GraphicObject*, SvStream*> maSwapStreamHdl; OUString maUserData; Timer* mpSwapOutTimer; GrfSimpleCacheObj* mpSimpleCache; @@ -339,9 +339,9 @@ public: bool operator==( const GraphicObject& rCacheObj ) const; bool operator!=( const GraphicObject& rCacheObj ) const { return !( *this == rCacheObj ); } - bool HasSwapStreamHdl() const { return( mpSwapStreamHdl != NULL && mpSwapStreamHdl->IsSet() ); } + bool HasSwapStreamHdl() const { return maSwapStreamHdl.IsSet(); } void SetSwapStreamHdl(); - void SetSwapStreamHdl(const Link<>& rHdl); + void SetSwapStreamHdl(const Link<const GraphicObject*, SvStream*>& rHdl); void FireSwapInRequest(); void FireSwapOutRequest(); diff --git a/include/svx/svdograf.hxx b/include/svx/svdograf.hxx index 31a9965..97a6aa4 100644 --- a/include/svx/svdograf.hxx +++ b/include/svx/svdograf.hxx @@ -112,7 +112,7 @@ private: void ImpLinkAbmeldung(); bool ImpUpdateGraphicLink( bool bAsynchron = true ) const; void ImpSetLinkedGraphic( const Graphic& rGraphic ); - DECL_LINK( ImpSwapHdl, GraphicObject* ); + DECL_LINK_TYPED( ImpSwapHdl, const GraphicObject*, SvStream* ); void onGraphicChanged(); public: diff --git a/svtools/qa/unit/GraphicObjectTest.cxx b/svtools/qa/unit/GraphicObjectTest.cxx index 463a1ce..2801cc2 100644 --- a/svtools/qa/unit/GraphicObjectTest.cxx +++ b/svtools/qa/unit/GraphicObjectTest.cxx @@ -52,7 +52,7 @@ public: } private: - DECL_LINK(getLinkStream, GraphicObject*); + DECL_LINK_TYPED(getLinkStream, const GraphicObject*, SvStream*); private: CPPUNIT_TEST_SUITE(GraphicObjectTest); @@ -72,9 +72,9 @@ const Graphic lcl_loadGraphic(const rtl::OUString &rUrl) return Graphic(aImage.GetBitmapEx()); } -IMPL_LINK(GraphicObjectTest, getLinkStream, GraphicObject*, /*pGraphObj*/) +IMPL_LINK_NOARG_TYPED(GraphicObjectTest, getLinkStream, const GraphicObject*, SvStream*) { - return reinterpret_cast<sal_IntPtr>(GRFMGR_AUTOSWAPSTREAM_LINK); + return GRFMGR_AUTOSWAPSTREAM_LINK; } void GraphicObjectTest::testSwap() diff --git a/svtools/source/graphic/grfmgr.cxx b/svtools/source/graphic/grfmgr.cxx index 64c4ee7..bac2be7 100644 --- a/svtools/source/graphic/grfmgr.cxx +++ b/svtools/source/graphic/grfmgr.cxx @@ -130,14 +130,13 @@ GraphicObject::~GraphicObject() } delete mpSwapOutTimer; - delete mpSwapStreamHdl; delete mpSimpleCache; } void GraphicObject::ImplConstruct() { mpMgr = NULL; - mpSwapStreamHdl = NULL; + maSwapStreamHdl = Link<const GraphicObject*, SvStream*>(); mpSwapOutTimer = NULL; mpSimpleCache = NULL; mnAnimationLoopCount = 0; @@ -350,7 +349,7 @@ GraphicObject& GraphicObject::operator=( const GraphicObject& rGraphicObj ) { mpMgr->ImplUnregisterObj( *this ); - delete mpSwapStreamHdl, mpSwapStreamHdl = NULL; + maSwapStreamHdl = Link<const GraphicObject*, SvStream*>(); delete mpSimpleCache, mpSimpleCache = NULL; maGraphic = rGraphicObj.GetGraphic(); @@ -391,7 +390,7 @@ OString GraphicObject::GetUniqueID() const SvStream* GraphicObject::GetSwapStream() const { if( HasSwapStreamHdl() ) - return reinterpret_cast<SvStream*>( mpSwapStreamHdl->Call( const_cast<void*>(static_cast<const void*>(this)) ) ); + return maSwapStreamHdl.Call( this ); else return GRFMGR_AUTOSWAPSTREAM_NONE; } @@ -428,11 +427,11 @@ void GraphicObject::SetUserData( const OUString& rUserData ) void GraphicObject::SetSwapStreamHdl() { - if( mpSwapStreamHdl ) + if( mpSwapOutTimer ) { delete mpSwapOutTimer, mpSwapOutTimer = NULL; - delete mpSwapStreamHdl, mpSwapStreamHdl = NULL; } + maSwapStreamHdl = Link<const GraphicObject*, SvStream*>(); } static sal_uInt32 GetCacheTimeInMs() @@ -444,9 +443,9 @@ static sal_uInt32 GetCacheTimeInMs() return nSeconds * 1000; } -void GraphicObject::SetSwapStreamHdl(const Link<>& rHdl) +void GraphicObject::SetSwapStreamHdl(const Link<const GraphicObject*, SvStream*>& rHdl) { - delete mpSwapStreamHdl, mpSwapStreamHdl = new Link<>( rHdl ); + maSwapStreamHdl = rHdl; sal_uInt32 const nSwapOutTimeout(GetCacheTimeInMs()); if( nSwapOutTimeout ) diff --git a/svx/source/svdraw/svdograf.cxx b/svx/source/svdraw/svdograf.cxx index 75e5432..17bc544 100644 --- a/svx/source/svdraw/svdograf.cxx +++ b/svx/source/svdraw/svdograf.cxx @@ -1268,7 +1268,7 @@ void SdrGrafObj::AdjustToMaxRect( const Rectangle& rMaxRect, bool bShrinkOnly ) } } -IMPL_LINK( SdrGrafObj, ImpSwapHdl, GraphicObject*, pO ) +IMPL_LINK_TYPED( SdrGrafObj, ImpSwapHdl, const GraphicObject*, pO, SvStream* ) { SvStream* pRet = GRFMGR_AUTOSWAPSTREAM_NONE; @@ -1380,7 +1380,7 @@ IMPL_LINK( SdrGrafObj, ImpSwapHdl, GraphicObject*, pO ) pRet = GRFMGR_AUTOSWAPSTREAM_TEMP; } - return reinterpret_cast<sal_IntPtr>(pRet); + return pRet; } void SdrGrafObj::SetGrafAnimationAllowed(bool bNew) diff --git a/sw/inc/ndgrf.hxx b/sw/inc/ndgrf.hxx index 59bd445..65da31e 100644 --- a/sw/inc/ndgrf.hxx +++ b/sw/inc/ndgrf.hxx @@ -72,7 +72,7 @@ class SW_DLLPUBLIC SwGrfNode: public SwNoTextNode void InsertLink( const OUString& rGrfName, const OUString& rFltName ); bool ImportGraphic( SvStream& rStrm ); - DECL_LINK( SwapGraphic, GraphicObject* ); + DECL_LINK_TYPED( SwapGraphic, const GraphicObject*, SvStream* ); /** helper method to determine stream for the embedded graphic. diff --git a/sw/source/core/graphic/ndgrf.cxx b/sw/source/core/graphic/ndgrf.cxx index e3411c2..fb64e79 100644 --- a/sw/source/core/graphic/ndgrf.cxx +++ b/sw/source/core/graphic/ndgrf.cxx @@ -953,7 +953,7 @@ SwContentNode* SwGrfNode::MakeCopy( SwDoc* pDoc, const SwNodeIndex& rIdx ) const return pGrfNd; } -IMPL_LINK( SwGrfNode, SwapGraphic, GraphicObject*, pGrfObj ) +IMPL_LINK_TYPED( SwGrfNode, SwapGraphic, const GraphicObject*, pGrfObj, SvStream* ) { SvStream* pRet; @@ -985,7 +985,7 @@ IMPL_LINK( SwGrfNode, SwapGraphic, GraphicObject*, pGrfObj ) pRet = GRFMGR_AUTOSWAPSTREAM_TEMP; } - return reinterpret_cast<sal_IntPtr>(pRet); + return pRet; } /// returns the Graphic-Attr-Structure filled with our graphic attributes _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
