From 4ffa0808302b63047086b835735535301d275bf7 Mon Sep 17 00:00:00 2001 From: xavierqet Date: Thu, 23 Aug 2007 21:06:15 +0000 Subject: [PATCH] Correction pour eviter une segfault lors de la fermeture de l'editeur d'elements git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@103 bfdf4180-ca20-0410-9c96-a3a8aa849046 --- editor/editorscene.h | 4 ++-- qgimanager.cpp | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) 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); + } } /**