Skip to content

Commit

Permalink
Do not hold raw pointer to dialog in Elwin tab
Browse files Browse the repository at this point in the history
  • Loading branch information
robertapplin committed Jan 29, 2024
1 parent 1dfba42 commit 6c7dbce
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 11 deletions.
2 changes: 1 addition & 1 deletion buildconfig/CMake/CppCheck_Suppressions.txt.in
Original file line number Diff line number Diff line change
Expand Up @@ -1425,7 +1425,7 @@ unreadVariable:${CMAKE_SOURCE_DIR}/qt/scientific_interfaces/ISISReflectometry/GU
passedByValue:${CMAKE_SOURCE_DIR}/qt/scientific_interfaces/Indirect/Reduction/ISISEnergyTransferValidator.cpp:100
useStlAlgorithm:${CMAKE_SOURCE_DIR}/qt/scientific_interfaces/Indirect/Reduction/ISISEnergyTransferModelUtils.h:99
useStlAlgorithm:${CMAKE_SOURCE_DIR}/qt/scientific_interfaces/Inelastic/Analysis/FqFitDataPresenter.cpp:23
virtualCallInConstructor:${CMAKE_SOURCE_DIR}/qt/scientific_interfaces/Inelastic/Analysis/IndirectFitDataView.h:43
virtualCallInConstructor:${CMAKE_SOURCE_DIR}/qt/scientific_interfaces/Inelastic/Analysis/IndirectFitDataView.h:42
returnTempReference:${CMAKE_SOURCE_DIR}/qt/scientific_interfaces/Inelastic/Analysis/IndirectFitData.cpp:127
knownConditionTrueFalse:${CMAKE_SOURCE_DIR}/qt/scientific_interfaces/Inelastic/Analysis/IndirectFitData.cpp:93
useStlAlgorithm:${CMAKE_SOURCE_DIR}/qt/scientific_interfaces/Inelastic/Analysis/IqtFitModel.cpp:47
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ class ExcludeRegionDelegate : public QItemDelegate {
namespace MantidQt::CustomInterfaces {
using namespace IDA;
InelasticDataManipulationElwinTabView::InelasticDataManipulationElwinTabView(QWidget *parent)
: m_presenter(), m_elwTree(nullptr), m_addWorkspaceDialog(nullptr) {
: m_presenter(), m_elwTree(nullptr) {

// Create Editor Factories
m_dblEdFac = new DoubleEditorFactory(this);
Expand Down Expand Up @@ -204,22 +204,20 @@ void InelasticDataManipulationElwinTabView::notifyRemoveDataClicked() { m_presen
void InelasticDataManipulationElwinTabView::notifyAddWorkspaceDialog() { showAddWorkspaceDialog(); }

void InelasticDataManipulationElwinTabView::showAddWorkspaceDialog() {
if (m_addWorkspaceDialog)
return;

auto dialog = new MantidWidgets::AddWorkspaceDialog(parentWidget());
connect(dialog, SIGNAL(addData()), this, SLOT(notifyAddData()));
connect(dialog, SIGNAL(addData(MantidWidgets::IAddWorkspaceDialog *)), this,
SLOT(notifyAddData(MantidWidgets::IAddWorkspaceDialog *)));

dialog->setAttribute(Qt::WA_DeleteOnClose);
dialog->setWSSuffices(getSampleWSSuffices());
dialog->setFBSuffices(getSampleFBSuffices());
dialog->updateSelectedSpectra();
dialog->show();

m_addWorkspaceDialog = dialog;
}

void InelasticDataManipulationElwinTabView::notifyAddData() { addDataWksOrFile(m_addWorkspaceDialog); }
void InelasticDataManipulationElwinTabView::notifyAddData(MantidWidgets::IAddWorkspaceDialog *dialog) {
addDataWksOrFile(dialog);
}

/** This method checks whether a Workspace or a File is being uploaded through the AddWorkspaceDialog
* A File requires additional checks to ensure a file of the correct type is being loaded. The Workspace list is
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ private slots:
void notifySelectedSpectrumChanged(int);
void notifyPreviewIndexChanged(int);
void notifyAddWorkspaceDialog();
void notifyAddData();
void notifyAddData(MantidWidgets::IAddWorkspaceDialog *dialog);
void notifyRemoveDataClicked();

private:
Expand All @@ -121,7 +121,6 @@ private slots:

IElwinPresenter *m_presenter;
QtTreePropertyBrowser *m_elwTree;
MantidWidgets::IAddWorkspaceDialog *m_addWorkspaceDialog;

Ui::InelasticDataManipulationElwinTab m_uiForm;
QtDoublePropertyManager *m_dblManager;
Expand Down

0 comments on commit 6c7dbce

Please sign in to comment.