diff --git a/editor/editorscene.h b/editor/editorscene.h index 1104831ec..5a0c4ce0a 100644 --- a/editor/editorscene.h +++ b/editor/editorscene.h @@ -36,10 +36,10 @@ class EditorScene : public QGraphicsScene { NamesList _names; /// Liste des orientations de l'element OrientationSet ori; - /// Pile des actions annulables - QUndoStack undo_stack; /// Gestionnaire de QGraphicsItem QGIManager qgi_manager; + /// Pile des actions annulables + QUndoStack undo_stack; /// Variables relatives a la gestion du dessin des parties sur la scene Behavior behavior; diff --git a/qgimanager.cpp b/qgimanager.cpp index 12db6fa74..bff8bd337 100644 --- a/qgimanager.cpp +++ b/qgimanager.cpp @@ -42,7 +42,10 @@ void QGIManager::manage(QGraphicsItem *qgi) { void QGIManager::release(QGraphicsItem *qgi) { if (!qgi_manager.contains(qgi)) return; -- qgi_manager[qgi]; - if (!qgi_manager[qgi] && !(scene -> items().contains(qgi))) delete qgi; + if (qgi_manager[qgi] <= 0 && !(scene -> items().contains(qgi))) { + delete qgi; + qgi_manager.remove(qgi); + } } /**