summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2013-10-22 19:54:44 +0200
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2013-11-19 13:47:40 +0100
commit35b6d31154edd32d68e2cf8d91fe852f32945fcf (patch)
tree4820efaf96c6d2bde422b300cc9471a40323c191
parent78fb95eeb92c423341b7845dce528a8e95e3ffcc (diff)
fix crash in opengl backend
Change-Id: I1257f4568e55ca545e96bda8a53f272ba8e1f0b0
-rw-r--r--chart2/source/view/inc/DummyXShape.hxx3
-rw-r--r--chart2/source/view/main/DummyXShape.cxx17
2 files changed, 19 insertions, 1 deletions
diff --git a/chart2/source/view/inc/DummyXShape.hxx b/chart2/source/view/inc/DummyXShape.hxx
index 0d56924df1c6..6cc963036e96 100644
--- a/chart2/source/view/inc/DummyXShape.hxx
+++ b/chart2/source/view/inc/DummyXShape.hxx
@@ -100,7 +100,7 @@ class DummyChart;
struct OpenglContext;
-class DummyXShape : public cppu::WeakImplHelper6<
+class DummyXShape : public cppu::WeakAggImplHelper6<
::com::sun::star::drawing::XShape,
com::sun::star::beans::XPropertySet,
com::sun::star::beans::XMultiPropertySet,
@@ -364,6 +364,7 @@ class DummyXShapes : public DummyXShape, public com::sun::star::drawing::XShapes
public:
virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
+ virtual com::sun::star::uno::Any SAL_CALL queryAggregation( const com::sun::star::uno::Type& rType ) throw(::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL acquire() throw();
virtual void SAL_CALL release() throw();
diff --git a/chart2/source/view/main/DummyXShape.cxx b/chart2/source/view/main/DummyXShape.cxx
index 0708ad8eb8e1..164c10f4758a 100644
--- a/chart2/source/view/main/DummyXShape.cxx
+++ b/chart2/source/view/main/DummyXShape.cxx
@@ -396,12 +396,29 @@ DummyChart* DummyChart::getRootShape()
return this;
}
+#define QUERYINT( xint ) \
+ if( rType == ::getCppuType((const uno::Reference< xint >*)0) ) \
+ aAny <<= uno::Reference< xint >(this)
+
uno::Any DummyXShapes::queryInterface( const uno::Type& rType )
throw(uno::RuntimeException)
{
return DummyXShape::queryInterface(rType);
}
+uno::Any DummyXShapes::queryAggregation( const uno::Type & rType )
+ throw(uno::RuntimeException)
+{
+ uno::Any aAny;
+
+ //QUERYINT( drawing::XShapeGroup );
+ QUERYINT( drawing::XShapes );
+ else
+ return DummyXShape::queryAggregation( rType );
+
+ return aAny;
+}
+
void DummyXShapes::acquire()
throw()
{