summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2018-05-28 14:00:21 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2018-05-28 14:36:26 +0000
commit5d57a3fb9e9a34413e85a733e45efc51511c4533 (patch)
treeae217716e8a7c3f1f604b617a08192264c98e0c1
parent0c112f5980a39d370a90c34f8dfb778a6bd6a780 (diff)
downloadqttools-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.cpp2
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);