chart2/source/controller/main/ChartWindow.cxx | 1 + chart2/source/controller/sidebar/ChartSidebarModifyListener.cxx | 7 ++++++- chart2/source/controller/sidebar/ChartSidebarSelectionListener.cxx | 7 +++++++ 3 files changed, 14 insertions(+), 1 deletion(-)
New commits: commit d4c52ebce80e6ea9dbfa0ca47b50272fab71c546 Author: Ashod Nakashian <ashod.nakash...@collabora.co.uk> AuthorDate: Wed Dec 11 18:19:43 2019 -0500 Commit: Ashod Nakashian <ashnak...@gmail.com> CommitDate: Thu Dec 12 01:12:45 2019 +0100 chart2: clear listener parents in dispose Change-Id: Icdab125589ab0f55255f683a1ea39e036de661b1 Reviewed-on: https://gerrit.libreoffice.org/84997 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Ashod Nakashian <ashnak...@gmail.com> diff --git a/chart2/source/controller/main/ChartWindow.cxx b/chart2/source/controller/main/ChartWindow.cxx index 57f245fe8db4..41e2664d1e9d 100644 --- a/chart2/source/controller/main/ChartWindow.cxx +++ b/chart2/source/controller/main/ChartWindow.cxx @@ -75,6 +75,7 @@ ChartWindow::~ChartWindow() void ChartWindow::dispose() { + m_pWindowController = nullptr; m_pViewShellWindow.clear(); vcl::Window::dispose(); } diff --git a/chart2/source/controller/sidebar/ChartSidebarModifyListener.cxx b/chart2/source/controller/sidebar/ChartSidebarModifyListener.cxx index b000e55c5aa6..0fa0b793b5b6 100644 --- a/chart2/source/controller/sidebar/ChartSidebarModifyListener.cxx +++ b/chart2/source/controller/sidebar/ChartSidebarModifyListener.cxx @@ -27,12 +27,17 @@ ChartSidebarModifyListener::~ChartSidebarModifyListener() void ChartSidebarModifyListener::modified(const css::lang::EventObject& /*rEvent*/) { - mpParent->updateData(); + if (mpParent) + mpParent->updateData(); } void ChartSidebarModifyListener::disposing(const css::lang::EventObject& /*rEvent*/) { + if (!mpParent) + return; + mpParent->modelInvalid(); + mpParent = nullptr; } } } diff --git a/chart2/source/controller/sidebar/ChartSidebarSelectionListener.cxx b/chart2/source/controller/sidebar/ChartSidebarSelectionListener.cxx index 19f4335e0b49..65d7bc9ce350 100644 --- a/chart2/source/controller/sidebar/ChartSidebarSelectionListener.cxx +++ b/chart2/source/controller/sidebar/ChartSidebarSelectionListener.cxx @@ -41,6 +41,9 @@ ChartSidebarSelectionListener::~ChartSidebarSelectionListener() void ChartSidebarSelectionListener::selectionChanged(const css::lang::EventObject& rEvent) { + if (!mpParent) + return; + bool bCorrectObjectSelected = false; css::uno::Reference<css::frame::XController> xController(rEvent.Source, css::uno::UNO_QUERY); @@ -66,7 +69,11 @@ void ChartSidebarSelectionListener::selectionChanged(const css::lang::EventObjec void ChartSidebarSelectionListener::disposing(const css::lang::EventObject& /*rEvent*/) { + if (!mpParent) + return; + mpParent->SelectionInvalid(); + mpParent = nullptr; } void ChartSidebarSelectionListener::setAcceptedTypes(const std::vector<ObjectType>& aTypes) _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits