chart2/source/controller/accessibility/AccessibleChartView.cxx | 13 ++++++---- chart2/source/controller/inc/AccessibleChartView.hxx | 3 +- 2 files changed, 10 insertions(+), 6 deletions(-)
New commits: commit fd6df89dbc26cda08c54e76644b43219d8b75236 Author: Noel Grandin <noel.gran...@collabora.co.uk> AuthorDate: Fri Jan 13 18:59:38 2023 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Sat Jan 14 07:28:02 2023 +0000 use more concrete types in chart Change-Id: I23888f636e36f6163405603a542a2f2f12eefa1d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145488 Tested-by: Noel Grandin <noel.gran...@collabora.co.uk> Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/chart2/source/controller/accessibility/AccessibleChartView.cxx b/chart2/source/controller/accessibility/AccessibleChartView.cxx index 2b96c684ff43..8e35e05706ac 100644 --- a/chart2/source/controller/accessibility/AccessibleChartView.cxx +++ b/chart2/source/controller/accessibility/AccessibleChartView.cxx @@ -25,6 +25,7 @@ #include <strings.hrc> #include "AccessibleViewForwarder.hxx" #include <ChartModel.hxx> +#include <ChartView.hxx> #include <com/sun/star/accessibility/AccessibleStateType.hpp> #include <com/sun/star/accessibility/AccessibleRole.hpp> @@ -172,14 +173,14 @@ void SAL_CALL AccessibleChartView::initialize( const Sequence< Any >& rArguments Reference< view::XSelectionSupplier > xSelectionSupplier; rtl::Reference<::chart::ChartModel> xChartModel; - Reference< uno::XInterface > xChartView; + rtl::Reference<::chart::ChartView> xChartView; Reference< XAccessible > xParent; Reference< awt::XWindow > xWindow; { MutexGuard aGuard( m_aMutex); xSelectionSupplier.set( m_xSelectionSupplier ); xChartModel = m_xChartModel; - xChartView.set( m_xChartView ); + xChartView = m_xChartView; xParent.set( m_xParent ); xWindow.set( m_xWindow ); } @@ -209,8 +210,10 @@ void SAL_CALL AccessibleChartView::initialize( const Sequence< Any >& rArguments if( rArguments.getLength() > 2 ) { - Reference< uno::XInterface > xNewChartView; - rArguments[2] >>= xNewChartView; + Reference< uno::XInterface > xTmp; + rArguments[2] >>= xTmp; + rtl::Reference<::chart::ChartView> xNewChartView = dynamic_cast<::chart::ChartView*>(xTmp.get()); + assert(bool(xTmp)==bool(xNewChartView) && "we only support ChartView"); if( xNewChartView != xChartView ) { xChartView = xNewChartView; @@ -283,7 +286,7 @@ void SAL_CALL AccessibleChartView::initialize( const Sequence< Any >& rArguments MutexGuard aGuard( m_aMutex); m_xSelectionSupplier = WeakReference< view::XSelectionSupplier >(xSelectionSupplier); m_xChartModel = xChartModel.get(); - m_xChartView = WeakReference< uno::XInterface >(xChartView); + m_xChartView = xChartView.get(); m_xParent = WeakReference< XAccessible >(xParent); m_xWindow = WeakReference< awt::XWindow >(xWindow); } diff --git a/chart2/source/controller/inc/AccessibleChartView.hxx b/chart2/source/controller/inc/AccessibleChartView.hxx index 3e1217d67233..c66578c0c09e 100644 --- a/chart2/source/controller/inc/AccessibleChartView.hxx +++ b/chart2/source/controller/inc/AccessibleChartView.hxx @@ -38,6 +38,7 @@ class IAccessibleViewForwarder; namespace chart { +class ChartView; namespace impl { @@ -103,7 +104,7 @@ private: // methods private: // members css::uno::WeakReference< css::view::XSelectionSupplier > m_xSelectionSupplier; unotools::WeakReference<::chart::ChartModel> m_xChartModel; - css::uno::WeakReference< css::uno::XInterface > m_xChartView; + unotools::WeakReference< ChartView > m_xChartView; css::uno::WeakReference< css::awt::XWindow > m_xWindow; css::uno::WeakReference< css::accessibility::XAccessible > m_xParent;