From e71fc99464cfcd42109808e28dd491450abcf90a Mon Sep 17 00:00:00 2001 From: blacksun Date: Sun, 6 Aug 2017 11:35:01 +0000 Subject: [PATCH] Fix crash git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@5011 bfdf4180-ca20-0410-9c96-a3a8aa849046 --- sources/ui/abstractelementpropertieseditorwidget.cpp | 3 +-- sources/ui/abstractelementpropertieseditorwidget.h | 3 ++- sources/ui/masterpropertieswidget.cpp | 4 ++-- sources/ui/masterpropertieswidget.h | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/sources/ui/abstractelementpropertieseditorwidget.cpp b/sources/ui/abstractelementpropertieseditorwidget.cpp index 97f443002..eb53b2bf5 100644 --- a/sources/ui/abstractelementpropertieseditorwidget.cpp +++ b/sources/ui/abstractelementpropertieseditorwidget.cpp @@ -18,6 +18,5 @@ #include "abstractelementpropertieseditorwidget.h" AbstractElementPropertiesEditorWidget::AbstractElementPropertiesEditorWidget(QWidget *parent) : - PropertiesEditorWidget(parent), - m_element (nullptr) + PropertiesEditorWidget(parent) {} diff --git a/sources/ui/abstractelementpropertieseditorwidget.h b/sources/ui/abstractelementpropertieseditorwidget.h index c321342d8..584bd70a9 100644 --- a/sources/ui/abstractelementpropertieseditorwidget.h +++ b/sources/ui/abstractelementpropertieseditorwidget.h @@ -19,6 +19,7 @@ #define ABSTRACTELEMENTPROPERTIESEDITORWIDGET_H #include "PropertiesEditor/propertieseditorwidget.h" +#include "QPointer" class Element; @@ -34,7 +35,7 @@ class AbstractElementPropertiesEditorWidget : public PropertiesEditorWidget virtual void setElement(Element *element) =0; protected: - Element *m_element; + QPointer m_element; }; diff --git a/sources/ui/masterpropertieswidget.cpp b/sources/ui/masterpropertieswidget.cpp index 68d398f99..3468ddbca 100644 --- a/sources/ui/masterpropertieswidget.cpp +++ b/sources/ui/masterpropertieswidget.cpp @@ -33,7 +33,6 @@ MasterPropertiesWidget::MasterPropertiesWidget(Element *elmt, QWidget *parent) : AbstractElementPropertiesEditorWidget(parent), ui(new Ui::MasterPropertiesWidget), - m_showed_element (nullptr), m_project(nullptr) { ui->setupUi(this); @@ -99,7 +98,8 @@ MasterPropertiesWidget::~MasterPropertiesWidget() if (m_showed_element) m_showed_element->setHighlighted(false); - m_element->setHighlighted(false); + if(m_element) + m_element->setHighlighted(false); delete ui; } diff --git a/sources/ui/masterpropertieswidget.h b/sources/ui/masterpropertieswidget.h index a44122ec0..8b614b8a6 100644 --- a/sources/ui/masterpropertieswidget.h +++ b/sources/ui/masterpropertieswidget.h @@ -71,7 +71,7 @@ class MasterPropertiesWidget : public AbstractElementPropertiesEditorWidget Ui::MasterPropertiesWidget *ui; QHash m_qtwi_hash; QTreeWidgetItem *m_qtwi_at_context_menu = nullptr; - Element *m_showed_element; + QPointer m_showed_element; QETProject *m_project; QMenu *m_context_menu; QAction *m_link_action,