summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2021-01-08 13:06:41 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-01-08 13:01:55 +0000
commit09adb30a8e93187e1780700d1c756a553c9265aa (patch)
treee1fd3418a42626120d18852902beb19393467f01
parent88c6d2d5841f7d573e98e97148e67374fc11a3f0 (diff)
Qt Designer: Fix potential crashes when using findChild<>
Extends 3f600283ecc9cfcfc65eabd305ad36fbce55dbce. Task-number: QTBUG-89926 Change-Id: Iac2adc26dff190380c4c8cf5610ebc0132efde2d Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io> (cherry picked from commit e7af10cfabeac5d049130f137f54a0b0c9f6fdc4) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/designer/src/components/buddyeditor/buddyeditor.cpp2
-rw-r--r--src/designer/src/components/formeditor/qdesigner_resource.cpp2
-rw-r--r--src/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp2
3 files changed, 4 insertions, 2 deletions
diff --git a/src/designer/src/components/buddyeditor/buddyeditor.cpp b/src/designer/src/components/buddyeditor/buddyeditor.cpp
index b31e2830b..7ad6c9eec 100644
--- a/src/designer/src/components/buddyeditor/buddyeditor.cpp
+++ b/src/designer/src/components/buddyeditor/buddyeditor.cpp
@@ -218,6 +218,8 @@ void BuddyEditor::setBackground(QWidget *background)
const QString buddy_name = buddy(label, m_formWindow->core());
if (buddy_name.isEmpty())
continue;
+ if (background == nullptr)
+ continue;
QWidget *target = background->findChild<QWidget*>(buddy_name);
if (target == nullptr)
continue;
diff --git a/src/designer/src/components/formeditor/qdesigner_resource.cpp b/src/designer/src/components/formeditor/qdesigner_resource.cpp
index 1f00cf906..9b4fd2434 100644
--- a/src/designer/src/components/formeditor/qdesigner_resource.cpp
+++ b/src/designer/src/components/formeditor/qdesigner_resource.cpp
@@ -1287,7 +1287,7 @@ DomTabStops *QDesignerResource::saveTabStops()
void QDesignerResource::applyTabStops(QWidget *widget, DomTabStops *tabStops)
{
- if (!tabStops)
+ if (tabStops == nullptr || widget == nullptr)
return;
QWidgetList tabOrder;
diff --git a/src/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp b/src/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp
index 5570c141c..1ed2e9da2 100644
--- a/src/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp
+++ b/src/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp
@@ -743,7 +743,7 @@ void SignalSlotEditorWindow::setActiveFormWindow(QDesignerFormWindowInterface *f
}
}
- m_editor = form->findChild<SignalSlotEditor*>();
+ m_editor = form ? form->findChild<SignalSlotEditor*>() : nullptr;
m_model->setEditor(m_editor);
if (!m_editor.isNull()) {
ConnectionDelegate *delegate