From 5c5911cdb3b96e14d704799379d271281eef39dd Mon Sep 17 00:00:00 2001 From: Mikhail Svechnikov <m.svechnikov@fz-juelich.de> Date: Fri, 27 Jan 2023 17:21:14 +0100 Subject: [PATCH] prevent accessing to 'IntensityItem' content on real data removal --- GUI/View/Import/RealDataMaskWidget.cpp | 5 ++++- GUI/View/Projection/IntensityDataProjectionsWidget.cpp | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/GUI/View/Import/RealDataMaskWidget.cpp b/GUI/View/Import/RealDataMaskWidget.cpp index 8b4b52de4d1..88c516591e4 100644 --- a/GUI/View/Import/RealDataMaskWidget.cpp +++ b/GUI/View/Import/RealDataMaskWidget.cpp @@ -77,6 +77,8 @@ QList<QAction*> RealDataMaskWidget::actionList() void RealDataMaskWidget::setContext() { + ASSERT(currentIntensityDataItem()); + MaskContainerItem* containerItem = currentIntensityDataItem()->getOrCreateMaskContainerItem(); QModelIndex maskContainerIndex = containerItem->index(); SessionModel* model = currentIntensityDataItem()->model(); @@ -103,7 +105,8 @@ void RealDataMaskWidget::resetContext() void RealDataMaskWidget::showEvent(QShowEvent*) { - setContext(); + if (currentIntensityDataItem()) + setContext(); } void RealDataMaskWidget::hideEvent(QHideEvent*) diff --git a/GUI/View/Projection/IntensityDataProjectionsWidget.cpp b/GUI/View/Projection/IntensityDataProjectionsWidget.cpp index e96466a8eea..40e015901f6 100644 --- a/GUI/View/Projection/IntensityDataProjectionsWidget.cpp +++ b/GUI/View/Projection/IntensityDataProjectionsWidget.cpp @@ -63,6 +63,8 @@ void IntensityDataProjectionsWidget::setJobOrRealItem(JobRealBase* job_or_real_i void IntensityDataProjectionsWidget::setContext() { + ASSERT(currentIntensityDataItem()); + ProjectionContainerItem* container = currentIntensityDataItem()->getOrCreateProjectionContainerItem(); QModelIndex shapeContainerIndex = container->index(); @@ -89,7 +91,8 @@ void IntensityDataProjectionsWidget::resetContext() void IntensityDataProjectionsWidget::showEvent(QShowEvent*) { - setContext(); + if (currentIntensityDataItem()) + setContext(); } void IntensityDataProjectionsWidget::hideEvent(QHideEvent*) -- GitLab