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
|
/// Destructeur
|
||||||
QETElementEditor::~QETElementEditor() {
|
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()) {
|
clearToolsDock();
|
||||||
previous_widget -> setParent(0);
|
|
||||||
previous_widget -> hide();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (selected_parts.size() == 1) {
|
if (selected_parts.size() == 1) {
|
||||||
// recupere le premier CustomElementPart et en ajoute le widget d'edition
|
// recupere le premier CustomElementPart et en ajoute le widget d'edition
|
||||||
@@ -901,6 +904,20 @@ bool QETElementEditor::canClose() {
|
|||||||
return(result);
|
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
|
Permet de quitter l'editeur lors de la fermeture de la fenetre principale
|
||||||
@param qce Le QCloseEvent correspondant a l'evenement de fermeture
|
@param qce Le QCloseEvent correspondant a l'evenement de fermeture
|
||||||
|
|||||||
@@ -119,6 +119,7 @@ class QETElementEditor : public QMainWindow {
|
|||||||
void setupMenus();
|
void setupMenus();
|
||||||
void setupInterface();
|
void setupInterface();
|
||||||
bool canClose();
|
bool canClose();
|
||||||
|
QWidget *clearToolsDock();
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void slot_new();
|
void slot_new();
|
||||||
|
|||||||
Reference in New Issue
Block a user