summaryrefslogtreecommitdiff
path: root/canvas/source/cairo
diff options
context:
space:
mode:
authorThorsten Behrens <tbehrens@novell.com>2011-04-08 16:44:28 +0200
committerThorsten Behrens <tbehrens@novell.com>2011-04-08 16:47:25 +0200
commit09b546cf9c1d0d9f78066e70a0348c7678cdcb14 (patch)
treeea9fb80453a70202a8f8d4bff4710d92259ac5b1 /canvas/source/cairo
parent55961e2dfdac4491aa8a56d86930e5999b7d523b (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.cxx4
-rw-r--r--canvas/source/cairo/cairo_canvas.hxx10
-rw-r--r--canvas/source/cairo/cairo_canvasbitmap.cxx4
-rw-r--r--canvas/source/cairo/cairo_canvasbitmap.hxx4
-rw-r--r--canvas/source/cairo/cairo_canvascustomsprite.cxx4
-rw-r--r--canvas/source/cairo/cairo_canvascustomsprite.hxx6
-rw-r--r--canvas/source/cairo/cairo_spritecanvas.cxx4
-rw-r--r--canvas/source/cairo/cairo_spritecanvas.hxx10
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