mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-19 23:20:52 +01:00
Correction d'une segfault pouvant se produire lors de la fermeture de l'editeur d'element alors qu'une partie est selectionnee.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@562 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
@@ -57,6 +57,12 @@ QETElementEditor::QETElementEditor(QWidget *parent) :
|
||||
|
||||
/// Destructeur
|
||||
QETElementEditor::~QETElementEditor() {
|
||||
/*
|
||||
retire le widget d'edition de partie affiche par le dock
|
||||
cela evite qu'il ne soit supprime avant que la partie a laquelle il est
|
||||
rattache ne le supprime une fois de trop
|
||||
*/
|
||||
clearToolsDock();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -486,10 +492,7 @@ void QETElementEditor::slot_updateInformations() {
|
||||
}
|
||||
}
|
||||
|
||||
if (QWidget *previous_widget = tools_dock_scroll_area_ -> takeWidget()) {
|
||||
previous_widget -> setParent(0);
|
||||
previous_widget -> hide();
|
||||
}
|
||||
clearToolsDock();
|
||||
|
||||
if (selected_parts.size() == 1) {
|
||||
// recupere le premier CustomElementPart et en ajoute le widget d'edition
|
||||
@@ -901,6 +904,20 @@ bool QETElementEditor::canClose() {
|
||||
return(result);
|
||||
}
|
||||
|
||||
/**
|
||||
Enleve et cache le widget affiche par le dock permettant d'editer les
|
||||
parties.
|
||||
@return le widget enleve, ou 0 s'il n'y avait pas de widget a enlever
|
||||
*/
|
||||
QWidget *QETElementEditor::clearToolsDock() {
|
||||
if (QWidget *previous_widget = tools_dock_scroll_area_ -> takeWidget()) {
|
||||
previous_widget -> setParent(0);
|
||||
previous_widget -> hide();
|
||||
return(previous_widget);
|
||||
}
|
||||
return(0);
|
||||
}
|
||||
|
||||
/**
|
||||
Permet de quitter l'editeur lors de la fermeture de la fenetre principale
|
||||
@param qce Le QCloseEvent correspondant a l'evenement de fermeture
|
||||
|
||||
@@ -119,6 +119,7 @@ class QETElementEditor : public QMainWindow {
|
||||
void setupMenus();
|
||||
void setupInterface();
|
||||
bool canClose();
|
||||
QWidget *clearToolsDock();
|
||||
|
||||
public slots:
|
||||
void slot_new();
|
||||
|
||||
Reference in New Issue
Block a user