From 6be7e2e9dd8027d284f1b00ef6e3b4654eec7d79 Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Thu, 30 Aug 2018 13:54:33 +0200 Subject: pass SdrUndoAction around by std::unique_ptr convert the LINK we use here to std::function, since LINK does not currently handle std::unique_ptr Change-Id: I9df80352e612445e5f5ca513d7d4196d65589778 Reviewed-on: https://gerrit.libreoffice.org/59804 Tested-by: Jenkins Reviewed-by: Noel Grandin --- chart2/source/controller/inc/ChartController.hxx | 2 +- chart2/source/controller/main/ChartController.cxx | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) (limited to 'chart2/source') diff --git a/chart2/source/controller/inc/ChartController.hxx b/chart2/source/controller/inc/ChartController.hxx index 3397a1bcf5d1..3ad81a5848ca 100644 --- a/chart2/source/controller/inc/ChartController.hxx +++ b/chart2/source/controller/inc/ChartController.hxx @@ -332,7 +332,7 @@ public: void SetAndApplySelection(const css::uno::Reference& rxShape); void StartTextEdit( const Point* pMousePixel = nullptr ); - DECL_LINK( NotifyUndoActionHdl, SdrUndoAction*, void ); + void NotifyUndoActionHdl( std::unique_ptr ); css::uno::Reference const & getChartView(); diff --git a/chart2/source/controller/main/ChartController.cxx b/chart2/source/controller/main/ChartController.cxx index cd9e889066e3..9fbc7b6de301 100644 --- a/chart2/source/controller/main/ChartController.cxx +++ b/chart2/source/controller/main/ChartController.cxx @@ -73,6 +73,7 @@ #include #include +#include #include #include #include @@ -1433,7 +1434,7 @@ void SAL_CALL ChartController::modified( //todo? update menu states ? } -IMPL_LINK( ChartController, NotifyUndoActionHdl, SdrUndoAction*, pUndoAction, void ) +void ChartController::NotifyUndoActionHdl( std::unique_ptr pUndoAction ) { ENSURE_OR_RETURN_VOID( pUndoAction, "invalid Undo action" ); @@ -1463,7 +1464,8 @@ DrawModelWrapper* ChartController::GetDrawModelWrapper() m_pDrawModelWrapper = pProvider->getDrawModelWrapper(); if ( m_pDrawModelWrapper.get() ) { - m_pDrawModelWrapper->getSdrModel().SetNotifyUndoActionHdl( LINK( this, ChartController, NotifyUndoActionHdl ) ); + m_pDrawModelWrapper->getSdrModel().SetNotifyUndoActionHdl( + std::bind(&ChartController::NotifyUndoActionHdl, this, std::placeholders::_1) ); } } return m_pDrawModelWrapper.get(); -- cgit