From 2ea668a715a05933cb086103a9b31209a04c6511 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20K=C3=A4berich?= Date: Sun, 5 Dec 2021 19:35:34 +0100 Subject: [PATCH] Fix: prevent crash when deleting marker whose group was already deleted --- Software/PC_Application/Traces/Marker/markergroup.cpp | 4 +--- Software/PC_Application/Traces/Marker/markergroup.h | 4 +++- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Software/PC_Application/Traces/Marker/markergroup.cpp b/Software/PC_Application/Traces/Marker/markergroup.cpp index 8be2695..7df0baa 100644 --- a/Software/PC_Application/Traces/Marker/markergroup.cpp +++ b/Software/PC_Application/Traces/Marker/markergroup.cpp @@ -22,9 +22,7 @@ bool MarkerGroup::add(Marker *m) connect(m, &Marker::positionChanged, this, &MarkerGroup::markerMoved); connect(m, &Marker::typeChanged, this, &MarkerGroup::checkMarker); connect(m, &Marker::domainChanged, this, &MarkerGroup::checkMarker); - connect(m, &Marker::deleted, [=](){ - remove(m); - }); + connect(m, &Marker::deleted, this, &MarkerGroup::remove); if(markers.size() > 0) { m->setPosition((*markers.begin())->getPosition()); diff --git a/Software/PC_Application/Traces/Marker/markergroup.h b/Software/PC_Application/Traces/Marker/markergroup.h index 4883573..5b7dc8c 100644 --- a/Software/PC_Application/Traces/Marker/markergroup.h +++ b/Software/PC_Application/Traces/Marker/markergroup.h @@ -17,7 +17,6 @@ public: ~MarkerGroup(); bool add(Marker *m); - bool remove(Marker *m); unsigned int getNumber() const; bool applicable(Marker *m); @@ -25,6 +24,9 @@ public: signals: void emptied(MarkerGroup*); +public slots: + bool remove(Marker *m); + private: void markerMoved(double newpos);