From d769fba4b8c4e11bbd74e4dcd469c1453ef0cfcc Mon Sep 17 00:00:00 2001 From: Maxime Gimeno Date: Fri, 11 Dec 2015 13:11:36 +0100 Subject: [PATCH] Polylines in point_set_selection fix --- Polyhedron/demo/Polyhedron/Scene.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/Polyhedron/demo/Polyhedron/Scene.cpp b/Polyhedron/demo/Polyhedron/Scene.cpp index bc971d164cb..d028be88f98 100644 --- a/Polyhedron/demo/Polyhedron/Scene.cpp +++ b/Polyhedron/demo/Polyhedron/Scene.cpp @@ -114,24 +114,26 @@ Scene::erase(int index) return -1; CGAL::Three::Scene_item* item = m_entries[index]; + CGAL::Three::Scene_group_item* group = + qobject_cast(item); + if(group) + { + m_group_entries.removeAll(group); + } Q_FOREACH(CGAL::Three::Scene_group_item* group, m_group_entries) { if(group->getChildren().contains(item)) group->removeChild(item); - if (group->getChildren().isEmpty()) - { - m_group_entries.removeOne(group); - m_entries.removeOne(group); - } } Q_EMIT itemAboutToBeDestroyed(item); delete item; m_entries.removeAt(index); selected_item = -1; - + group_added(); QStandardItemModel::beginResetModel(); Q_EMIT updated(); QStandardItemModel::endResetModel(); + Q_EMIT restoreCollapsedState(); if(--index >= 0) return index; if(!m_entries.isEmpty())