mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-17 20:50:34 +01:00
Fixed a segfault that could occur when removing a diagram from a project.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/branches/0.3@1347 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
@@ -307,7 +307,8 @@ bool ElementsPanel::selectedItemIsAProject() const {
|
||||
@return true si un schema est selectionne, false sinon
|
||||
*/
|
||||
bool ElementsPanel::selectedItemIsADiagram() const {
|
||||
return(diagrams_.contains(currentItem()));
|
||||
QTreeWidgetItem *current = currentItem();
|
||||
return(diagrams_.contains(current));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -890,11 +891,6 @@ QTreeWidgetItem *ElementsPanel::findLocation(const QString &location) const {
|
||||
void ElementsPanel::deleteItem(QTreeWidgetItem *removed_item) {
|
||||
if (!removed_item) return;
|
||||
|
||||
// supprime les eventuels enfants de l'item
|
||||
foreach(QTreeWidgetItem *child_item, removed_item -> takeChildren()) {
|
||||
deleteItem(child_item);
|
||||
}
|
||||
|
||||
if (locations_.contains(removed_item)) {
|
||||
locations_.remove(removed_item);
|
||||
} else if (diagrams_.contains(removed_item)) {
|
||||
@@ -904,6 +900,12 @@ void ElementsPanel::deleteItem(QTreeWidgetItem *removed_item) {
|
||||
} else if (title_blocks_directories_.contains(removed_item)) {
|
||||
title_blocks_directories_.remove(removed_item);
|
||||
}
|
||||
|
||||
// supprime les eventuels enfants de l'item
|
||||
foreach(QTreeWidgetItem *child_item, removed_item -> takeChildren()) {
|
||||
deleteItem(child_item);
|
||||
}
|
||||
|
||||
delete removed_item;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user