summaryrefslogtreecommitdiffstats
path: root/src/widgets/kernel/qtestsupport_widgets.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets/kernel/qtestsupport_widgets.cpp')
-rw-r--r--src/widgets/kernel/qtestsupport_widgets.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/widgets/kernel/qtestsupport_widgets.cpp b/src/widgets/kernel/qtestsupport_widgets.cpp
index e0118605308..0816b640cc8 100644
--- a/src/widgets/kernel/qtestsupport_widgets.cpp
+++ b/src/widgets/kernel/qtestsupport_widgets.cpp
@@ -22,8 +22,10 @@ static bool qWaitForWidgetWindow(QWidget *w, Predicate predicate, QDeadlineTimer
if (!w->window()->windowHandle())
return false;
- return QTest::qWaitFor([&]() {
- if (QWindow *window = w->window()->windowHandle())
+ return QTest::qWaitFor([&, wp = QPointer(w)]() {
+ if (QWidget *widget = wp.data(); !widget)
+ return false;
+ else if (QWindow *window = widget->window()->windowHandle())
return predicate(window);
return false;
}, timeout);