diff options
author | Ivan Solovev <ivan.solovev@qt.io> | 2023-03-09 13:22:12 +0100 |
---|---|---|
committer | Ivan Solovev <ivan.solovev@qt.io> | 2023-03-28 09:45:55 +0100 |
commit | 502a7706b94380d4957a7e594fc7c4c4db8ae81b (patch) | |
tree | 2448680a8c17ded8ea5cac9e7a54c68cc9750621 /src/corelib/thread/qfutureinterface.cpp | |
parent | e8622fb2046f94fb2c8b9a9d0c1cec6d082485e8 (diff) |
QFutureInterface: add a warning when an existing continuation is overwritten
... and also extend the documentation to explain this case explicitly.
Fixes: QTBUG-107545
Pick-to: 6.5 6.2
Change-Id: I9414cc677b037989de60e97871485018e5c8a569
Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
Diffstat (limited to 'src/corelib/thread/qfutureinterface.cpp')
-rw-r--r-- | src/corelib/thread/qfutureinterface.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/corelib/thread/qfutureinterface.cpp b/src/corelib/thread/qfutureinterface.cpp index ed46052fa7..e656527e04 100644 --- a/src/corelib/thread/qfutureinterface.cpp +++ b/src/corelib/thread/qfutureinterface.cpp @@ -834,6 +834,10 @@ void QFutureInterfaceBase::setContinuation(std::function<void(const QFutureInter // store the move-only continuation, to guarantee that the associated // future's data stays alive. if (d->continuationState != QFutureInterfaceBasePrivate::Cleaned) { + if (d->continuation) { + qWarning() << "Adding a continuation to a future which already has a continuation. " + "The existing continuation is overwritten."; + } d->continuation = std::move(func); d->continuationData = continuationFutureData; } |