From 5223bed1a66eae8c59a3f07694abff28d0ad1355 Mon Sep 17 00:00:00 2001 From: "Frank T. Bergmann" Date: Wed, 15 Jan 2025 10:22:04 +0100 Subject: [PATCH] - fix crashes when copying invalid object --- copasi/UI/CQCompartment.cpp | 4 ++++ copasi/UI/CQEventWidget1.cpp | 3 +++ copasi/UI/CQModelValue.cpp | 3 +++ 3 files changed, 10 insertions(+) diff --git a/copasi/UI/CQCompartment.cpp b/copasi/UI/CQCompartment.cpp index a8b2de2dc1..a06cb7e4bc 100644 --- a/copasi/UI/CQCompartment.cpp +++ b/copasi/UI/CQCompartment.cpp @@ -122,6 +122,10 @@ void CQCompartment::slotBtnCopy() {} void CQCompartment::copy() { + + if (!mpObject) + return; + CModel * pModel = mpDataModel->getModel(); CModelExpansion cModelExpObj = CModelExpansion(pModel); CModelExpansion::SetOfModelElements compartmentObjectsToCopy; diff --git a/copasi/UI/CQEventWidget1.cpp b/copasi/UI/CQEventWidget1.cpp index 8bbc44a67a..69f5df5b0f 100644 --- a/copasi/UI/CQEventWidget1.cpp +++ b/copasi/UI/CQEventWidget1.cpp @@ -118,6 +118,9 @@ void CQEventWidget1::slotBtnNew() void CQEventWidget1::slotBtnCopy() { + if (!mpDataModel || !mpObject) + return; + std::string name = "event"; int i = 1; diff --git a/copasi/UI/CQModelValue.cpp b/copasi/UI/CQModelValue.cpp index 5d063f1336..fb17dcab7f 100644 --- a/copasi/UI/CQModelValue.cpp +++ b/copasi/UI/CQModelValue.cpp @@ -97,6 +97,9 @@ void CQModelValue::slotBtnNew() void CQModelValue::slotBtnCopy() { + if (!mpDataModel || !mpObject) + return; + std::string name = "quantity"; int i = 1;