From a4a51f6a641f4bf0a863251d6d3e026d81de6280 Mon Sep 17 00:00:00 2001 From: Ilya Fedin Date: Wed, 24 Aug 2022 16:49:04 +0400 Subject: [PATCH] Re-create TLW's window only when its surface type is really changed Fixes: QTBUG-105017 Pick-to: 6.4 Change-Id: If5826172efb53b6df15dd3b7ba91b09d733cc77f Reviewed-by: Laszlo Agocs --- src/widgets/kernel/qwidget.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp index b28dcfc6f2..2cd30794cd 100644 --- a/src/widgets/kernel/qwidget.cpp +++ b/src/widgets/kernel/qwidget.cpp @@ -10691,7 +10691,7 @@ void QWidget::setParent(QWidget *parent, Qt::WindowFlags f) QWidget *newtlw = window(); if (oldtlw != newtlw) { QSurface::SurfaceType surfaceType = QSurface::RasterSurface; - if (q_evaluateRhiConfig(this, nullptr, &surfaceType)) { + if (q_evaluateRhiConfig(newtlw, nullptr, &surfaceType)) { newtlw->d_func()->usesRhiFlush = true; if (QWindow *w = newtlw->windowHandle()) { if (w->surfaceType() != surfaceType) {