Add missing repaintManager check

This is likely a problem only after the 6.4 changes to move QQuickWidget
composition from OpenGL to QRhi.

Add an extra check to the condition when bailing out.

In QWidgetPrivate (qwidget.cpp) all similar calls into the
repaintManager are guarded by

  if (tlwExtra && tlwExtra->backingStore && tlwExtra->repaintManager)

therefore it makes sense to perform the same check in the other file too.

The assumption is that the check was not added here due to being outside
of qwidget.cpp.

Change-Id: Ic94d4e5153f4a194a997cd669b0f7c48c7932d97
Fixes: QTBUG-107166
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
(cherry picked from commit 2d381001dae9c5e590375232e7a95f245350e4ea)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Laszlo Agocs 2022-10-11 14:31:48 +02:00 committed by Qt Cherry-pick Bot
parent 3fb11be311
commit 9778edbd6b

View File

@ -126,7 +126,7 @@ void QWidgetPrivate::invalidateBackingStore(const T &r)
return;
QTLWExtra *tlwExtra = q->window()->d_func()->maybeTopData();
if (!tlwExtra || !tlwExtra->backingStore)
if (!tlwExtra || !tlwExtra->backingStore || !tlwExtra->repaintManager)
return;
T clipped(r);