Go to file
Laszlo Agocs 6e3170b674 eglfs_kms: Prevent drm errors with more than one window during the screen's lifetime
The QML Live Preview tool exercises the problematic case of having a
QQuickWindow, then closing it, then showing another, then destroying
that, ..., and so on.

It seems that the eglfs_kms backend does not handle this gracefully:
if there was a page flip issued for a window that is then closed, the
new window will result in drm errors (like -22 EINVAL) because the
logic gets confused due to holding on to surface buffers from the old
window.

To remedy this, make sure the same cleanup is performed on a failing
atomic commit as it is done on the non-atomic code path. In addition,
reset more things in resetSurface().

Change-Id: I7e13dbbf4d74b4ed9beaf71472680a0daafb4f95
Fixes: QTBUG-82104
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
2022-12-12 19:25:44 +01:00
.github/workflows Repair github action workflow 2021-11-10 18:57:33 +01:00
bin Create the versioned variant of Qt tools in cross platform build 2022-12-07 07:09:15 +01:00
cmake CMake: Add qt 'policy' support 2022-12-10 10:43:38 +00:00
coin Revert "coin: Build qmake examples in non-qtbase repos" 2022-12-10 10:50:20 +00:00
config.tests Change the license of all CMakeLists.txt and *.cmake files to BSD 2022-08-23 23:58:42 +02:00
dist Add Qt 6.0.0 changes file 2020-11-16 10:02:08 +02:00
doc Doc: Add margins to all anchors in a translated page 2022-12-12 14:14:22 +00:00
examples wiggly example: add support for emojis etc. (utf16 surrogate pairs) 2022-12-12 12:33:20 +01:00
lib Purge all fonts 2015-08-18 19:59:14 +00:00
libexec Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
LICENSES Add license text file for Creative Commons Zero (CC0) 1.0 2022-10-19 12:06:09 +02:00
mkspecs wasm: Fix qmake build 2022-12-09 12:21:54 +01:00
qmake Use qtversion.h instead of qlibraryinfo.h 2022-12-09 07:21:22 +01:00
src eglfs_kms: Prevent drm errors with more than one window during the screen's lifetime 2022-12-12 19:25:44 +01:00
tests RHI: QShaderDescription storage buffer qualifiers / run time stride 2022-12-11 11:05:24 -08:00
util qt-testrunner: Save test output into file 2022-12-08 17:56:48 +01:00
.cmake.conf Introduce QT_NO_AS_CONST and mark QtBase free of it 2022-11-27 17:14:28 +01:00
.gitattributes Give batch files CRLF line endings 2020-11-04 15:02:29 +00:00
.gitignore Assume qhelpgenerator in libexec instead of bin 2021-11-08 19:27:32 +01:00
.lgtm.yml Skip LGTM analysis for the bootstrap library and tools 2020-07-16 01:04:34 +02:00
.tag Update the git-archive export options 2012-09-07 15:39:31 +02:00
CMakeLists.txt Change the license of all CMakeLists.txt and *.cmake files to BSD 2022-08-23 23:58:42 +02:00
conanfile.py Conan: Do not force 'qt_host_path' usage in cross-build context 2022-06-22 18:18:42 +03:00
config_help.txt Update -redo option such that it removes CMakeCache.txt and CMakeFiles/ 2022-12-01 02:23:51 +01:00
configure Update -redo option such that it removes CMakeCache.txt and CMakeFiles/ 2022-12-01 02:23:51 +01:00
configure.bat Update -redo option such that it removes CMakeCache.txt and CMakeFiles/ 2022-12-01 02:23:51 +01:00
configure.cmake Disable openslv(11|30) if -no-openssl is passed to configure 2022-11-30 13:48:50 +00:00
dependencies.yaml Re-add dependencies.yaml now that qt5.git wip/qt6 builds fine 2019-09-18 13:19:31 +02:00
qt_cmdline.cmake QCryptographicHash: implement OpenSSL 3.0 support 2022-09-26 17:26:37 +02:00
sync.profile Move qurltlds_p.h out of src/network, and make it a .cpp file 2022-10-01 06:24:51 +00:00