diff options
author | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2013-10-22 19:54:44 +0200 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2013-11-19 13:47:40 +0100 |
commit | 35b6d31154edd32d68e2cf8d91fe852f32945fcf (patch) | |
tree | 4820efaf96c6d2bde422b300cc9471a40323c191 | |
parent | 78fb95eeb92c423341b7845dce528a8e95e3ffcc (diff) |
fix crash in opengl backend
Change-Id: I1257f4568e55ca545e96bda8a53f272ba8e1f0b0
-rw-r--r-- | chart2/source/view/inc/DummyXShape.hxx | 3 | ||||
-rw-r--r-- | chart2/source/view/main/DummyXShape.cxx | 17 |
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() { |