mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-18 13:30:34 +01:00
Fix crash : When remove a diagram from project, close project, and open a project, Qet crash.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@3496 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
@@ -388,9 +388,6 @@ void ProjectView::removeDiagram(DiagramView *diagram_view) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// notifie le reste du monde que le DiagramView va disparaitre
|
|
||||||
emit(diagramAboutToBeRemoved(diagram_view));
|
|
||||||
|
|
||||||
// enleve le DiagramView des onglets
|
// enleve le DiagramView des onglets
|
||||||
int diagram_tab_id = diagram_ids_.key(diagram_view);
|
int diagram_tab_id = diagram_ids_.key(diagram_view);
|
||||||
tabs_ -> removeTab(diagram_tab_id);
|
tabs_ -> removeTab(diagram_tab_id);
|
||||||
|
|||||||
@@ -88,7 +88,6 @@ class ProjectView : public QWidget {
|
|||||||
|
|
||||||
signals:
|
signals:
|
||||||
void diagramAdded(DiagramView *);
|
void diagramAdded(DiagramView *);
|
||||||
void diagramAboutToBeRemoved(DiagramView *);
|
|
||||||
void diagramRemoved(DiagramView *);
|
void diagramRemoved(DiagramView *);
|
||||||
void diagramActivated(DiagramView *);
|
void diagramActivated(DiagramView *);
|
||||||
void diagramOrderChanged(ProjectView *, int, int);
|
void diagramOrderChanged(ProjectView *, int, int);
|
||||||
|
|||||||
@@ -1314,7 +1314,6 @@ void QETDiagramEditor::addProjectView(ProjectView *project_view) {
|
|||||||
// gere l'ajout et le retrait de schema du projet
|
// gere l'ajout et le retrait de schema du projet
|
||||||
connect(project_view, SIGNAL(diagramAdded(DiagramView *)), this, SLOT(diagramWasAdded(DiagramView *)));
|
connect(project_view, SIGNAL(diagramAdded(DiagramView *)), this, SLOT(diagramWasAdded(DiagramView *)));
|
||||||
connect(project_view, SIGNAL(diagramAdded(DiagramView *)), this, SLOT(slot_updateActions()));
|
connect(project_view, SIGNAL(diagramAdded(DiagramView *)), this, SLOT(slot_updateActions()));
|
||||||
connect(project_view, SIGNAL(diagramAboutToBeRemoved(DiagramView *)), this, SLOT(diagramIsAboutToBeRemoved(DiagramView *)));
|
|
||||||
connect(project_view, SIGNAL(diagramRemoved(DiagramView *)), this, SLOT(diagramWasRemoved(DiagramView *)));
|
connect(project_view, SIGNAL(diagramRemoved(DiagramView *)), this, SLOT(diagramWasRemoved(DiagramView *)));
|
||||||
connect(project_view, SIGNAL(diagramRemoved(DiagramView *)), this, SLOT(slot_updateActions()));
|
connect(project_view, SIGNAL(diagramRemoved(DiagramView *)), this, SLOT(slot_updateActions()));
|
||||||
if (QETProject *project = project_view -> project()) {
|
if (QETProject *project = project_view -> project()) {
|
||||||
@@ -1860,15 +1859,6 @@ void QETDiagramEditor::diagramWasAdded(DiagramView *dv) {
|
|||||||
connect(dv, SIGNAL(itemAdded()), this, SLOT(addItemFinish()));
|
connect(dv, SIGNAL(itemAdded()), this, SLOT(addItemFinish()));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
Gere le retrait d'un schema dans un projet avant que le retrait ne soit effectif
|
|
||||||
@param dv DiagramView concerne
|
|
||||||
*/
|
|
||||||
void QETDiagramEditor::diagramIsAboutToBeRemoved(DiagramView *dv) {
|
|
||||||
undo_group.removeStack(&(dv -> diagram() -> undoStack()));
|
|
||||||
can_update_actions = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Gere le retrait d'un schema dans un projet apres que le retrait soit effectif
|
Gere le retrait d'un schema dans un projet apres que le retrait soit effectif
|
||||||
@param dv DiagramView concerne
|
@param dv DiagramView concerne
|
||||||
|
|||||||
@@ -149,7 +149,6 @@ class QETDiagramEditor : public QETMainWindow {
|
|||||||
void cleanCurrentProject();
|
void cleanCurrentProject();
|
||||||
void nomenclatureProject();
|
void nomenclatureProject();
|
||||||
void diagramWasAdded(DiagramView *);
|
void diagramWasAdded(DiagramView *);
|
||||||
void diagramIsAboutToBeRemoved(DiagramView *);
|
|
||||||
void diagramWasRemoved(DiagramView *);
|
void diagramWasRemoved(DiagramView *);
|
||||||
void findElementInPanel(const ElementsLocation &);
|
void findElementInPanel(const ElementsLocation &);
|
||||||
void findSelectedElementInPanel();
|
void findSelectedElementInPanel();
|
||||||
|
|||||||
Reference in New Issue
Block a user