It may happen that InPlaceWidgetHelper's destructor
is called after parent widget destructor. Now inside
InPlaceWidgetHelper's destructor we check if parent
widget still exists.
Task-number: QTCREATORBUG-7684
Change-Id: I4c9ecbfae7323fd95345ccabc113218a7011ebe8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
InPlaceWidgetHelper::~InPlaceWidgetHelper()
{
- m_parentWidget->setAttribute(Qt::WA_NoChildEventsForParent, m_noChildEvent);
+ if (m_parentWidget)
+ m_parentWidget->setAttribute(Qt::WA_NoChildEventsForParent, m_noChildEvent);
}
Qt::Alignment InPlaceWidgetHelper::alignment() const {
#include <QtCore/QObject>
#include <QtCore/QPoint>
#include <QtCore/QSize>
+#include <QtCore/QPointer>
#include <qglobal.h>
QT_BEGIN_NAMESPACE
Qt::Alignment alignment() const;
private:
QWidget *m_editorWidget;
- QWidget *m_parentWidget;
+ QPointer<QWidget> m_parentWidget;
const bool m_noChildEvent;
QPoint m_posOffset;
QSize m_sizeOffset;