From 108b1014415a491cb0abb58c04a28a5c691085a1 Mon Sep 17 00:00:00 2001 From: Laszlo Agocs Date: Wed, 19 Jul 2023 11:15:06 +0200 Subject: Handle rhi init failures better in rhi backingstore flush One may very well force a 3D API not functional. In this case there will be no QRhi. A bunch of warnings will be printed (which is good), but then flush() should not do anything, and that was not handled before. Pick-to: 6.6 6.5 Change-Id: I82139070311152c959d39a553842f4462d8e7811 Reviewed-by: Andy Nichols --- src/gui/painting/qbackingstoredefaultcompositor.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/gui/painting') diff --git a/src/gui/painting/qbackingstoredefaultcompositor.cpp b/src/gui/painting/qbackingstoredefaultcompositor.cpp index 998e6f7a8f..96df95c7f9 100644 --- a/src/gui/painting/qbackingstoredefaultcompositor.cpp +++ b/src/gui/painting/qbackingstoredefaultcompositor.cpp @@ -455,6 +455,9 @@ QPlatformBackingStore::FlushResult QBackingStoreDefaultCompositor::flush(QPlatfo QPlatformTextureList *textures, bool translucentBackground) { + if (!rhi) + return QPlatformBackingStore::FlushFailed; + Q_ASSERT(textures); // may be empty if there are no render-to-texture widgets at all, but null it cannot be if (!m_rhi) { -- cgit v1.2.3