diff --git a/sources/editor/elementscene.cpp b/sources/editor/elementscene.cpp index 641898cda..a59d2cf79 100644 --- a/sources/editor/elementscene.cpp +++ b/sources/editor/elementscene.cpp @@ -1046,11 +1046,13 @@ void ElementScene::getPasteArea(const QRectF &to_paste) { void ElementScene::reset() { // supprime les objets d'annulation undoStack().clear(); + // enleve les elements de la scene - foreach (QGraphicsItem *qgi, items()) { - qgiManager().release(qgi); + foreach (QGraphicsItem *qgi, items()) { removeItem(qgi); + qgiManager().release(qgi); } + decorator_ = 0; } /** diff --git a/sources/qgimanager.cpp b/sources/qgimanager.cpp index 2e13fa5c7..6aea18239 100644 --- a/sources/qgimanager.cpp +++ b/sources/qgimanager.cpp @@ -60,8 +60,8 @@ void QGIManager::release(QGraphicsItem *qgi) { if (!qgi_manager.contains(qgi)) return; -- qgi_manager[qgi]; if (qgi_manager[qgi] <= 0 && !(scene -> items().contains(qgi))) { - delete qgi; qgi_manager.remove(qgi); + delete qgi; } }