Go to file
Sona Kurazyan 76a1c060ac Always cancel unfinished QPromises on destruction
If the QPromise is being destroyed, we should signal the associated
futures to stop waiting. No matter in which state the promise is, if
it's not finished, we should always cancel to avoid infinite waits.
This is also what docs state:

"The promise implicitly transitions to a canceled state on destruction
unless finish() is called beforehand by the user."

Fixes: QTBUG-101284
Pick-to: 6.3 6.2
Change-Id: I65ebfefe03b79b41afacda78a4f49938c54d8b37
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2022-03-25 08:05:12 +01:00
.github/workflows Repair github action workflow 2021-11-10 18:57:33 +01:00
bin Provide a qtpaths wrapper script when cross-building Qt 2021-11-08 13:41:03 +01:00
cmake CMake: Generate and use a wrapper script for stripping binaries 2022-03-24 21:50:50 +01:00
coin coin: Use configure and qt-configure-module in instructions 2022-03-17 17:14:36 +01:00
config.tests CMake: Generate and use a wrapper script for stripping binaries 2022-03-24 21:50:50 +01:00
dist Add Qt 6.0.0 changes file 2020-11-16 10:02:08 +02:00
doc Document what QtTest's various loggers do 2022-03-22 17:43:13 +01:00
examples CMake: Don't build the movie example if the feature is disabled 2022-03-19 14:19:13 +01:00
lib Purge all fonts 2015-08-18 19:59:14 +00:00
libexec CMake: Generate and use a wrapper script for stripping binaries 2022-03-24 21:50:50 +01:00
mkspecs iOS: Use python3 for enumerating test target devices 2022-03-18 02:47:57 +00:00
qmake Misc: Do not depend on transitive includes 2022-03-17 17:14:37 +01:00
src Always cancel unfinished QPromises on destruction 2022-03-25 08:05:12 +01:00
tests Always cancel unfinished QPromises on destruction 2022-03-25 08:05:12 +01:00
util pro2cmake: Introduce qmake2cmake convenience scripts 2022-03-08 03:45:30 +01:00
.cmake.conf cmake: only use qtbase configuration in qtbase 2022-03-18 12:33:10 +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 Use REALPATH based check for symbolic links on Windows 2022-01-07 14:31:38 +01:00
conanfile.py Conan: Fix used function name for parsing 3rd party sw dependencies 2022-03-24 12:14:56 +02:00
config_help.txt configure: CMake: Add -no-prefix option 2022-02-24 19:46:01 +01:00
configure Remove unsupported, host-related options from configure shell script 2021-08-05 02:44:27 +02:00
configure.bat configure.bat: Fix call without arguments 2022-02-16 12:05:48 +01:00
configure.cmake Enable -mno-direct-extern-access and ELF protected visibility 2022-03-10 17:10:57 -08:00
dependencies.yaml Re-add dependencies.yaml now that qt5.git wip/qt6 builds fine 2019-09-18 13:19:31 +02:00
LICENSE.FDL Remove trailing whitespace in LICENSE.FDL 2021-11-26 18:28:49 +01:00
LICENSE.GPL2 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.GPL3 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.GPL3-EXCEPT Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.LGPL3 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.QT-LICENSE-AGREEMENT Update LICENSE.QT-LICENSE-AGREEMENT 2022-02-16 17:19:34 +02:00
qt_cmdline.cmake configure: CMake: Add -no-prefix option 2022-02-24 19:46:01 +01:00
sync.profile QVariant: reduce transitive includes 2022-03-17 16:14:38 +00:00