diff options
Diffstat (limited to 'src/widgets/kernel/qtestsupport_widgets.cpp')
-rw-r--r-- | src/widgets/kernel/qtestsupport_widgets.cpp | 6 |
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); |