sc/source/ui/inc/spelldialog.hxx | 4 ++-- sc/source/ui/view/spelldialog.cxx | 4 ++-- sw/inc/unochart.hxx | 8 +++----- sw/source/core/unocore/unochart.cxx | 19 ++++++++----------- 4 files changed, 15 insertions(+), 20 deletions(-)
New commits: commit 3cda5ffdda64eff9282450816334d18f7aa015bd Author: Noel Grandin <noel.gran...@collabora.co.uk> Date: Wed Jan 25 07:32:34 2017 +0200 use tools::SvRef in ScSpellDialogChildWindow since it is a ref-counted object Change-Id: I14a2c666a8fe8ab0ccb55f91f7573e7d3c8caf47 diff --git a/sc/source/ui/inc/spelldialog.hxx b/sc/source/ui/inc/spelldialog.hxx index 6e735b2..af7c7bc 100644 --- a/sc/source/ui/inc/spelldialog.hxx +++ b/sc/source/ui/inc/spelldialog.hxx @@ -75,13 +75,13 @@ private: typedef ::std::unique_ptr< ScConversionEngineBase > ScConvEnginePtr; typedef ::std::unique_ptr< ScDocument > ScDocumentPtr; typedef ::std::unique_ptr< ScSelectionState > ScSelectionStatePtr; - typedef ::std::unique_ptr< ScRangeList > ScRangeListPtr; ScConvEnginePtr mxEngine; ScDocumentPtr mxUndoDoc; ScDocumentPtr mxRedoDoc; ScSelectionStatePtr mxOldSel; /// For cursor position in selection - ScRangeListPtr mxOldRangeList; /// Original selection range for comparison. + tools::SvRef< ScRangeList > + mxOldRangeList; /// Original selection range for comparison. ScTabViewShell* mpViewShell; ScViewData* mpViewData; ScDocShell* mpDocShell; diff --git a/sc/source/ui/view/spelldialog.cxx b/sc/source/ui/view/spelldialog.cxx index db43544..0d4dc36 100644 --- a/sc/source/ui/view/spelldialog.cxx +++ b/sc/source/ui/view/spelldialog.cxx @@ -146,7 +146,7 @@ void ScSpellDialogChildWindow::Reset() mxUndoDoc.reset(); mxRedoDoc.reset(); mxOldSel.reset(); - mxOldRangeList.reset(); + mxOldRangeList.Clear(); mpViewShell = nullptr; mpViewData = nullptr; mpDocShell = nullptr; @@ -180,7 +180,7 @@ void ScSpellDialogChildWindow::Init() ScMarkData& rMarkData = mpViewData->GetMarkData(); - mxOldRangeList.reset(new ScRangeList); + mxOldRangeList = new ScRangeList; rMarkData.FillRangeListWithMarks(mxOldRangeList.get(), true); rMarkData.MarkToMulti(); commit 244677ccf72cfbd778e297f2b464df8df56027c6 Author: Noel Grandin <noel.gran...@collabora.co.uk> Date: Tue Jan 24 16:31:20 2017 +0200 use rtl::Reference in SwChartDataSequence instead of storing both a raw pointer and an uno::Reference Change-Id: I828ad411c989f14a9175ab173f1a4fe75fed535f diff --git a/sw/inc/unochart.hxx b/sw/inc/unochart.hxx index 24523ce..944c869 100644 --- a/sw/inc/unochart.hxx +++ b/sw/inc/unochart.hxx @@ -46,6 +46,7 @@ #include <cppuhelper/implbase.hxx> #include <cppuhelper/weakref.hxx> +#include <rtl/ref.hxx> #include <tools/link.hxx> #include <vcl/timer.hxx> @@ -250,15 +251,12 @@ class SwChartDataSequence : { ::comphelper::OInterfaceContainerHelper2 m_aEvtListeners; ::comphelper::OInterfaceContainerHelper2 m_aModifyListeners; - css::chart2::data::DataSequenceRole m_aRole; + css::chart2::data::DataSequenceRole m_aRole; OUString m_aRowLabelText; OUString m_aColLabelText; - // holds a reference to the data-provider to guarantee its lifetime last as - // long as the pointer may be used. - css::uno::Reference< css::chart2::data::XDataProvider > m_xDataProvider; - SwChartDataProvider * m_pDataProvider; + rtl::Reference<SwChartDataProvider> m_xDataProvider; sw::UnoCursorPointer m_pTableCursor; // cursor spanned over cells to use diff --git a/sw/source/core/unocore/unochart.cxx b/sw/source/core/unocore/unochart.cxx index 11e8fdb..786f12a 100644 --- a/sw/source/core/unocore/unochart.cxx +++ b/sw/source/core/unocore/unochart.cxx @@ -1889,7 +1889,6 @@ SwChartDataSequence::SwChartDataSequence( m_aRowLabelText( SW_RES( STR_CHART2_ROW_LABEL_TEXT ) ), m_aColLabelText( SW_RES( STR_CHART2_COL_LABEL_TEXT ) ), m_xDataProvider( &rProvider ), - m_pDataProvider( &rProvider ), m_pTableCursor( pTableCursor ), m_pPropSet( aSwMapProvider.GetPropertySet( PROPERTY_MAP_CHART2_DATA_SEQUENCE ) ) { @@ -1902,8 +1901,8 @@ SwChartDataSequence::SwChartDataSequence( if (pTable) { uno::Reference< chart2::data::XDataSequence > xRef( dynamic_cast< chart2::data::XDataSequence * >(this), uno::UNO_QUERY ); - m_pDataProvider->AddDataSequence( *pTable, xRef ); - m_pDataProvider->addEventListener( dynamic_cast< lang::XEventListener * >(this) ); + m_xDataProvider->AddDataSequence( *pTable, xRef ); + m_xDataProvider->addEventListener( dynamic_cast< lang::XEventListener * >(this) ); } else { OSL_FAIL( "table missing" ); @@ -1936,8 +1935,7 @@ SwChartDataSequence::SwChartDataSequence( const SwChartDataSequence &rObj ) : m_aRole( rObj.m_aRole ), m_aRowLabelText( SW_RES(STR_CHART2_ROW_LABEL_TEXT) ), m_aColLabelText( SW_RES(STR_CHART2_COL_LABEL_TEXT) ), - m_xDataProvider( rObj.m_pDataProvider ), - m_pDataProvider( rObj.m_pDataProvider ), + m_xDataProvider( rObj.m_xDataProvider ), m_pTableCursor( rObj.m_pTableCursor ), m_pPropSet( rObj.m_pPropSet ) { @@ -1950,8 +1948,8 @@ SwChartDataSequence::SwChartDataSequence( const SwChartDataSequence &rObj ) : if (pTable) { uno::Reference< chart2::data::XDataSequence > xRef( dynamic_cast< chart2::data::XDataSequence * >(this), uno::UNO_QUERY ); - m_pDataProvider->AddDataSequence( *pTable, xRef ); - m_pDataProvider->addEventListener( dynamic_cast< lang::XEventListener * >(this) ); + m_xDataProvider->AddDataSequence( *pTable, xRef ); + m_xDataProvider->addEventListener( dynamic_cast< lang::XEventListener * >(this) ); } else { OSL_FAIL( "table missing" ); @@ -2358,9 +2356,8 @@ void SAL_CALL SwChartDataSequence::disposing( const lang::EventObject& rSource ) { if (m_bDisposed) throw lang::DisposedException(); - if (rSource.Source == m_xDataProvider) + if (rSource.Source == static_cast<cppu::OWeakObject*>(m_xDataProvider.get())) { - m_pDataProvider = nullptr; m_xDataProvider.clear(); } } @@ -2378,13 +2375,13 @@ void SAL_CALL SwChartDataSequence::dispose( ) if (bMustDispose) { m_bDisposed = true; - if (m_pDataProvider) + if (m_xDataProvider.is()) { const SwTable* pTable = SwTable::FindTable( GetFrameFormat() ); if (pTable) { uno::Reference< chart2::data::XDataSequence > xRef( dynamic_cast< chart2::data::XDataSequence * >(this), uno::UNO_QUERY ); - m_pDataProvider->RemoveDataSequence( *pTable, xRef ); + m_xDataProvider->RemoveDataSequence( *pTable, xRef ); } else { OSL_FAIL( "table missing" ); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits