diff options
author | Sona Kurazyan <sona.kurazyan@qt.io> | 2021-11-29 17:36:57 +0100 |
---|---|---|
committer | Sona Kurazyan <sona.kurazyan@qt.io> | 2021-12-01 01:58:18 +0100 |
commit | 3be72253a6c8f469626d931b623f548cfe1e81a7 (patch) | |
tree | 40152cea64e1cf8e3e0e84d9c3ee60c2d6e98f17 /mkspecs/wasm-emscripten/qmake.conf | |
parent | 1a61b85a2c04d48496a2e83359bf1d65abbc14dc (diff) |
Fix QFuture continuations/handlers to work with move-only callables
std::function, which is used to store the type-erased continuation
lambdas, requires the passed callable to be copy-constructible. This
makes impossible to use move-only callables with continuations/handlers.
In particular, it makes impossible passing lambdas that are capturing
move-only objects. The workaround is to store the continuation lambda
inside a wrapper for the callable, which stores the move-only lambda in
a QSharedPtr and can be stored in std::function, since it's copyable.
Pick-to: 6.2
Fixes: QTBUG-98493
Change-Id: I8b7a22fcf68dc132b3c533216a7a1665e9f9fb0a
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
Diffstat (limited to 'mkspecs/wasm-emscripten/qmake.conf')
0 files changed, 0 insertions, 0 deletions