Fix: prevent crash when deleting marker whose group was already deleted

This commit is contained in:
Jan Käberich 2021-12-05 19:35:34 +01:00
parent 8246e80d69
commit 2ea668a715
2 changed files with 4 additions and 4 deletions

View File

@ -22,9 +22,7 @@ bool MarkerGroup::add(Marker *m)
connect(m, &Marker::positionChanged, this, &MarkerGroup::markerMoved); connect(m, &Marker::positionChanged, this, &MarkerGroup::markerMoved);
connect(m, &Marker::typeChanged, this, &MarkerGroup::checkMarker); connect(m, &Marker::typeChanged, this, &MarkerGroup::checkMarker);
connect(m, &Marker::domainChanged, this, &MarkerGroup::checkMarker); connect(m, &Marker::domainChanged, this, &MarkerGroup::checkMarker);
connect(m, &Marker::deleted, [=](){ connect(m, &Marker::deleted, this, &MarkerGroup::remove);
remove(m);
});
if(markers.size() > 0) { if(markers.size() > 0) {
m->setPosition((*markers.begin())->getPosition()); m->setPosition((*markers.begin())->getPosition());

View File

@ -17,7 +17,6 @@ public:
~MarkerGroup(); ~MarkerGroup();
bool add(Marker *m); bool add(Marker *m);
bool remove(Marker *m);
unsigned int getNumber() const; unsigned int getNumber() const;
bool applicable(Marker *m); bool applicable(Marker *m);
@ -25,6 +24,9 @@ public:
signals: signals:
void emptied(MarkerGroup*); void emptied(MarkerGroup*);
public slots:
bool remove(Marker *m);
private: private:
void markerMoved(double newpos); void markerMoved(double newpos);