diff --git a/src/libs/aggregation/aggregate.cpp b/src/libs/aggregation/aggregate.cpp index 11d13907f33..7be6437ae2f 100644 --- a/src/libs/aggregation/aggregate.cpp +++ b/src/libs/aggregation/aggregate.cpp @@ -193,9 +193,6 @@ void Aggregate::deleteSelf(QObject *obj) QWriteLocker locker(&lock()); aggregateMap().remove(obj); m_components.removeAll(obj); - // Avoid issues if obj was child of another component of the aggregate. - // The parent is deleted in ~Aggregate and might still have a reference on obj - obj->setParent({}); } delete this; } diff --git a/tests/auto/aggregation/tst_aggregate.cpp b/tests/auto/aggregation/tst_aggregate.cpp index fe865be59e7..eef9a32400c 100644 --- a/tests/auto/aggregation/tst_aggregate.cpp +++ b/tests/auto/aggregation/tst_aggregate.cpp @@ -78,24 +78,6 @@ void tst_Aggregate::deleteAggregation() component1 = new Interface1; delete component1; QVERIFY(component1 == 0); - - // do not crash if components are in a child/parent relationship - // parent deleted first - aggregation = new Aggregation::Aggregate; - component1 = new Interface1; - component2 = new Interface2; - component2->setParent(component1); - aggregation->add(component1); - aggregation->add(component2); - delete component1; - // child deleted first - aggregation = new Aggregation::Aggregate; - component1 = new Interface1; - component2 = new Interface2; - component2->setParent(component1); - aggregation->add(component1); - aggregation->add(component2); - delete component2; } void tst_Aggregate::queryAggregation()