diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2018-05-28 14:00:21 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2018-05-28 14:36:26 +0000 |
commit | 5d57a3fb9e9a34413e85a733e45efc51511c4533 (patch) | |
tree | ae217716e8a7c3f1f604b617a08192264c98e0c1 | |
parent | 0c112f5980a39d370a90c34f8dfb778a6bd6a780 (diff) | |
download | qttools-5d57a3fb9e9a34413e85a733e45efc51511c4533.tar.gz |
Qt Designer: Fix crash when morphing widgets with buddies
Bail out of PropertyEditor::setObject() when no form window
can be found for the current widget, which can happen when
setting the buddy property in morph macro sequences.
Task-number: QTBUG-68507
Change-Id: I61955121d57e1c18e2ccf93d63e51d2df24f0827
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
(cherry picked from commit 548a75049efaa3f9b3087016e3e36cc9b4f23e2e)
-rw-r--r-- | src/designer/src/components/propertyeditor/propertyeditor.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/designer/src/components/propertyeditor/propertyeditor.cpp b/src/designer/src/components/propertyeditor/propertyeditor.cpp index ee30614b5..9bdeb985d 100644 --- a/src/designer/src/components/propertyeditor/propertyeditor.cpp +++ b/src/designer/src/components/propertyeditor/propertyeditor.cpp @@ -912,6 +912,8 @@ void PropertyEditor::setObject(QObject *object) m_object = object; m_propertyManager->setObject(object); QDesignerFormWindowInterface *formWindow = QDesignerFormWindowInterface::findFormWindow(m_object); + if (Q_UNLIKELY(formWindow == nullptr)) // QTBUG-68507, can happen in Morph Undo macros with buddies + return; FormWindowBase *fwb = qobject_cast<FormWindowBase *>(formWindow); m_treeFactory->setFormWindowBase(fwb); m_groupFactory->setFormWindowBase(fwb); |