diff options
author | Thorsten Behrens <tbehrens@novell.com> | 2011-04-08 16:44:28 +0200 |
---|---|---|
committer | Thorsten Behrens <tbehrens@novell.com> | 2011-04-08 16:47:25 +0200 |
commit | 09b546cf9c1d0d9f78066e70a0348c7678cdcb14 (patch) | |
tree | ea9fb80453a70202a8f8d4bff4710d92259ac5b1 /canvas/source/cairo | |
parent | 55961e2dfdac4491aa8a56d86930e5999b7d523b (diff) |
Fix overloaded-virtual warning in canvas
With enabled -Woverloaded-virtual gcc warning (see
http://lists.freedesktop.org/archives/libreoffice/2011-March/009567.html),
canvas exposed a nasty clash between WeakComponentImplHelper::disposing
and XEventListener::disposing. Fixed by overriding *once* in baseclass,
and then calling disambiguated, renamed methods.
Diffstat (limited to 'canvas/source/cairo')
-rw-r--r-- | canvas/source/cairo/cairo_canvas.cxx | 4 | ||||
-rw-r--r-- | canvas/source/cairo/cairo_canvas.hxx | 10 | ||||
-rw-r--r-- | canvas/source/cairo/cairo_canvasbitmap.cxx | 4 | ||||
-rw-r--r-- | canvas/source/cairo/cairo_canvasbitmap.hxx | 4 | ||||
-rw-r--r-- | canvas/source/cairo/cairo_canvascustomsprite.cxx | 4 | ||||
-rw-r--r-- | canvas/source/cairo/cairo_canvascustomsprite.hxx | 6 | ||||
-rw-r--r-- | canvas/source/cairo/cairo_spritecanvas.cxx | 4 | ||||
-rw-r--r-- | canvas/source/cairo/cairo_spritecanvas.hxx | 10 |
8 files changed, 19 insertions, 27 deletions
diff --git a/canvas/source/cairo/cairo_canvas.cxx b/canvas/source/cairo/cairo_canvas.cxx index 9903dade4863..802006d59110 100644 --- a/canvas/source/cairo/cairo_canvas.cxx +++ b/canvas/source/cairo/cairo_canvas.cxx @@ -131,14 +131,14 @@ namespace cairocanvas OSL_TRACE( "CairoCanvas destroyed" ); } - void SAL_CALL Canvas::disposing() + void Canvas::disposeThis() { ::osl::MutexGuard aGuard( m_aMutex ); mxComponentContext.clear(); // forward to parent - CanvasBaseT::disposing(); + CanvasBaseT::disposeThis(); } ::rtl::OUString SAL_CALL Canvas::getServiceName( ) throw (uno::RuntimeException) diff --git a/canvas/source/cairo/cairo_canvas.hxx b/canvas/source/cairo/cairo_canvas.hxx index 02837d03f6b6..aec8713f8fe9 100644 --- a/canvas/source/cairo/cairo_canvas.hxx +++ b/canvas/source/cairo/cairo_canvas.hxx @@ -47,7 +47,7 @@ #include <comphelper/uno3.hxx> #include <canvas/base/spritecanvasbase.hxx> -#include <canvas/base/basemutexhelper.hxx> +#include <canvas/base/disambiguationhelper.hxx> #include <canvas/base/bufferedgraphicdevicebase.hxx> #include <basegfx/vector/b2isize.hxx> @@ -69,7 +69,7 @@ namespace cairocanvas ::com::sun::star::util::XUpdatable, ::com::sun::star::beans::XPropertySet, ::com::sun::star::lang::XServiceName > GraphicDeviceBase_Base; - typedef ::canvas::GraphicDeviceBase< ::canvas::BaseMutexHelper< GraphicDeviceBase_Base >, + typedef ::canvas::GraphicDeviceBase< ::canvas::DisambiguationHelper< GraphicDeviceBase_Base >, DeviceHelper, ::osl::MutexGuard, ::cppu::OWeakObject > CanvasBase_Base; @@ -122,12 +122,8 @@ namespace cairocanvas /// For resource tracking ~Canvas(); -#if defined __SUNPRO_CC - using CanvasBaseT::disposing; -#endif - /// Dispose all internal references - virtual void SAL_CALL disposing(); + virtual void disposeThis(); // Forwarding the XComponent implementation to the // cppu::ImplHelper templated base diff --git a/canvas/source/cairo/cairo_canvasbitmap.cxx b/canvas/source/cairo/cairo_canvasbitmap.cxx index 33ee53ffcf2a..63761b848af8 100644 --- a/canvas/source/cairo/cairo_canvasbitmap.cxx +++ b/canvas/source/cairo/cairo_canvasbitmap.cxx @@ -102,7 +102,7 @@ namespace cairocanvas maCanvasHelper.clear(); } - void SAL_CALL CanvasBitmap::disposing() + void CanvasBitmap::disposeThis() { mpSurfaceProvider.clear(); @@ -110,7 +110,7 @@ namespace cairocanvas mpBufferSurface.reset(); // forward to parent - CanvasBitmap_Base::disposing(); + CanvasBitmap_Base::disposeThis(); } SurfaceSharedPtr CanvasBitmap::getSurface() diff --git a/canvas/source/cairo/cairo_canvasbitmap.hxx b/canvas/source/cairo/cairo_canvasbitmap.hxx index 532ce8d26b41..1626c9240ff6 100644 --- a/canvas/source/cairo/cairo_canvasbitmap.hxx +++ b/canvas/source/cairo/cairo_canvasbitmap.hxx @@ -58,7 +58,7 @@ namespace cairocanvas ::com::sun::star::lang::XServiceInfo, ::com::sun::star::beans::XFastPropertySet > CanvasBitmapBase_Base; class CanvasBitmapSpriteSurface_Base : - public ::canvas::BaseMutexHelper<CanvasBitmapBase_Base>, + public ::canvas::DisambiguationHelper<CanvasBitmapBase_Base>, public SurfaceProvider { }; @@ -87,7 +87,7 @@ namespace cairocanvas bool bHasAlpha ); /// Dispose all internal references - virtual void SAL_CALL disposing(); + virtual void disposeThis(); // Forwarding the XComponent implementation to the // cppu::ImplHelper templated base diff --git a/canvas/source/cairo/cairo_canvascustomsprite.cxx b/canvas/source/cairo/cairo_canvascustomsprite.cxx index b78bf44c3313..5c7852c41dec 100644 --- a/canvas/source/cairo/cairo_canvascustomsprite.cxx +++ b/canvas/source/cairo/cairo_canvascustomsprite.cxx @@ -78,7 +78,7 @@ namespace cairocanvas maCanvasHelper.clear(); } - void SAL_CALL CanvasCustomSprite::disposing() + void CanvasCustomSprite::disposeThis() { ::osl::MutexGuard aGuard( m_aMutex ); @@ -86,7 +86,7 @@ namespace cairocanvas mpBufferSurface.reset(); // forward to parent - CanvasCustomSpriteBaseT::disposing(); + CanvasCustomSpriteBaseT::disposeThis(); } void CanvasCustomSprite::redraw( const CairoSharedPtr& pCairo, diff --git a/canvas/source/cairo/cairo_canvascustomsprite.hxx b/canvas/source/cairo/cairo_canvascustomsprite.hxx index d9b525716690..52dac5233138 100644 --- a/canvas/source/cairo/cairo_canvascustomsprite.hxx +++ b/canvas/source/cairo/cairo_canvascustomsprite.hxx @@ -42,7 +42,7 @@ #include <basegfx/vector/b2isize.hxx> #include <basegfx/matrix/b2dhommatrix.hxx> -#include <canvas/base/basemutexhelper.hxx> +#include <canvas/base/disambiguationhelper.hxx> #include <canvas/base/canvascustomspritebase.hxx> #include "cairo_sprite.hxx" @@ -76,7 +76,7 @@ namespace cairocanvas remain a base class that provides implementation, not to enforce any specific interface on its derivees. */ - class CanvasCustomSpriteSpriteBase_Base : public ::canvas::BaseMutexHelper< CanvasCustomSpriteBase_Base >, + class CanvasCustomSpriteSpriteBase_Base : public ::canvas::DisambiguationHelper< CanvasCustomSpriteBase_Base >, public Sprite, public SurfaceProvider { @@ -111,7 +111,7 @@ namespace cairocanvas CanvasCustomSprite( const ::com::sun::star::geometry::RealSize2D& rSpriteSize, const SpriteCanvasRef& rRefDevice ); - virtual void SAL_CALL disposing(); + virtual void disposeThis(); // Forwarding the XComponent implementation to the // cppu::ImplHelper templated base diff --git a/canvas/source/cairo/cairo_spritecanvas.cxx b/canvas/source/cairo/cairo_spritecanvas.cxx index a04c3e755eba..f55f861d3839 100644 --- a/canvas/source/cairo/cairo_spritecanvas.cxx +++ b/canvas/source/cairo/cairo_spritecanvas.cxx @@ -125,14 +125,14 @@ namespace cairocanvas maArguments.realloc(0); } - void SAL_CALL SpriteCanvas::disposing() + void SpriteCanvas::disposeThis() { ::osl::MutexGuard aGuard( m_aMutex ); mxComponentContext.clear(); // forward to parent - SpriteCanvasBaseT::disposing(); + SpriteCanvasBaseT::disposeThis(); } ::sal_Bool SAL_CALL SpriteCanvas::showBuffer( ::sal_Bool bUpdateAll ) throw (uno::RuntimeException) diff --git a/canvas/source/cairo/cairo_spritecanvas.hxx b/canvas/source/cairo/cairo_spritecanvas.hxx index 54cd3a181cec..b64fd1474c6e 100644 --- a/canvas/source/cairo/cairo_spritecanvas.hxx +++ b/canvas/source/cairo/cairo_spritecanvas.hxx @@ -45,7 +45,7 @@ #include <comphelper/uno3.hxx> #include <canvas/base/spritecanvasbase.hxx> -#include <canvas/base/basemutexhelper.hxx> +#include <canvas/base/disambiguationhelper.hxx> #include <canvas/base/bufferedgraphicdevicebase.hxx> #include <basegfx/vector/b2isize.hxx> @@ -69,7 +69,7 @@ namespace cairocanvas ::com::sun::star::util::XUpdatable, ::com::sun::star::beans::XPropertySet, ::com::sun::star::lang::XServiceName > WindowGraphicDeviceBase_Base; - typedef ::canvas::BufferedGraphicDeviceBase< ::canvas::BaseMutexHelper< WindowGraphicDeviceBase_Base >, + typedef ::canvas::BufferedGraphicDeviceBase< ::canvas::DisambiguationHelper< WindowGraphicDeviceBase_Base >, SpriteDeviceHelper, ::osl::MutexGuard, ::cppu::OWeakObject > SpriteCanvasBase_Base; @@ -121,12 +121,8 @@ namespace cairocanvas void initialize(); -#if defined __SUNPRO_CC - using SpriteCanvasBaseT::disposing; -#endif - /// Dispose all internal references - virtual void SAL_CALL disposing(); + virtual void disposeThis(); // Forwarding the XComponent implementation to the // cppu::ImplHelper templated base |